作业1 类对象答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
作业1 类对象答案

?????????作业一 类与对象 1? 知识要点 1.? 2.? 3.? 4.? 例题1:下列有关类的说法不正确的是(?????? )。 A.? B.? C.? D. 答案:C 分析:对象是类的一个实例,类与对象的关系和数据与变量的关系相似,所以一个类可以有多个对象。 例题2:下面(?????? )项是对构造函数和析构函数的正确定义。 A.void X::X(),?? void X::~X() B.X::X(参数), ???X::~X() C.X::X(参数),??? X::~X(参数) D.void X::X(参数),? void X::~X(参数) 答案:B 分析构造函数无返回类型、可带参数、可重载;析构函数无返回类型、不可带参数、不可重载。 例题3:(?????? )的功能是对象进行初始化。 ??? A.析构函数????? B. 数据成员?? C.构造函数?? D.静态成员函数 答案:C 分析:当一个对象定义时,C++编译系统自动调用构造函数建立该对象并进行初始化;当一个对象的生命周期结束时,C++编译系统自动调用析构函数注销该对象并进行善后工作; 例题4:下列表达方式正确的是(?????? )。 A.class P{??????????????????????? B.? class P{ public:??? ?????????????????????????????public: int x=15;??????? ???????????????????int x; ??? ???????void? show(){coutx;}???????? ??????void show(){coutx;} ? ????????};??????? ???????????????????????????} ??? C. class P{?????????????????????? D.?? class P{ ??? ??????int? f;???????????????????????????? public: ??? ?????????}; ??????????????????????????????int a; ?? ??????f=25;? ???????????????????????????????void Seta (int x) {a=x;} }; 答案:D 分析:在类体内不可对数据成员进行初始化;类定义结束时需用分号;只有类中的成员函数才能存取类中的私有数据。 例题5: 拷贝构造函数具有的下列特点中,(?????? )是错误的。 A.? B.? C.? D. 答案:D 分析:如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的;拷贝构造函数只有一个参数,并且是该类对象的引用;拷贝构造函数的名字与类同名,并且不被指定返回类型;拷贝构造函数是一种成员函数。 例题:设有如下程序结构: class Box { … }; void main() {Box A,B,C; } ??(1)?? 次构造函数;调用 ??(2)?? 次析构函数。 答案:(1)3??? (2)3 分析:每创建一个对象自动调用一次构造函数,在这里创建了A、B、C三个对象,所以共调用了三次构造函数;每释放一个对象,系统自动调用一次析构函数,A、B、C对象释放时,分别调用析构函数,所以析构函数共调用了三次。 例题9:设A为test类的对象且赋有初值,则语句test B(A); 表示??????????????? 。 答案:将对象A复制给对象B。 分析:执行test B(A);语句相当于调用了默认复制构造函数,将A对象的属性复制给B对象。 例题11:分析找出以下程序中的错误,说明错误原因,给出修改方案使之能正确运行。 #includeiostream.h class one {?? int a1,a2; ? public: one(int x1=0, x2=0); }; void main() {one data(2,3); ?coutdata.a1endl; ?coutdata.a2endl; } 分析:出错原因:构造函数参数表语法错;构造函数没有函数体;类的对象不能直接访问类的私有成员变量。 改正后的程序如下: ?#includeiostream.h ? class one ? { int a1, a2; ?? public: ???? one(int x1=0, int x2=0) {a1=x1;a2=x2;} ???? int geta1()? { return a1; } ???? int geta2()? { return a2; } }; void main() {one data(2,3); ?coutdat

文档评论(0)

138****7331 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档