1答案C分析对象是类的一个实例,类与对象的关系和数据与变量的.doc

1答案C分析对象是类的一个实例,类与对象的关系和数据与变量的.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1答案C分析对象是类的一个实例,类与对象的关系和数据与变量的.doc

1: 答案:C 分析:对象是类的一个实例,类与对象的关系和数据与变量的关系相似,所以一个类可以有多个对象。 ? 2: 答案:B 分析构造函数无返回类型、可带参数、可重载;析构函数无返回类型、不可带参数、不可重载。 ? 3: 答案:C 分析:当一个对象定义时,C++编译系统自动调用构造函数建立该对象并进行初始化;当一个对象的生命周期结束时,C++编译系统自动调用析构函数注销该对象并进行善后工作; ? ? 4: 答案:D 分析:在类体内不可对数据成员进行初始化;类定义结束时需用分号;只有类中的成员函数才能存取类中的私有数据。 ? 5: 答案:D 分析:如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的;拷贝构造函数只有一个参数,并且是该类对象的引用;拷贝构造函数的名字与类同名,并且不被指定返回类型;拷贝构造函数是一种成员函数。 ? 6: 答案:B 分析:静态成员可分为静态数据成员和静态成员函数;静态数据成员被定义后,必须对它进行初始化,初始化在类体外进行,一般放在该类的实现部分最合适,也可以放在其他位置,例如,放在主函数前面等;静态数据成员初始化与该类的构造函数和析构函数无关;在静态成员函数的实现中,可以直接引用静态成员,但不能直接引用非静态成员。 ? 7: 答案:A 分析:友元函数是非成员函数,在类体内说明了,在类体外定义,定义和调用等同于一般的普通函数;由于它可以直接访问类的私有成员,因此破坏了类的封装性和隐藏性,尽量少用。 ? 8: 答案:(1)3 (2)3 分析:每创建一个对象自动调用一次构造函数,在这里创建了A、B、C三个对象,所以共调用了三次构造函数;每释放一个对象,系统自动调用一次析构函数,A、B、C对象释放时,分别调用析构函数,所以析构函数共调用了三次。 ? 9: 10:答案:(1) public (2) 成员函数 (3)友元函数 分析:类体内的数据成员可声明为公有的、私有的和保护的,公有的数据成员可利用“对象名.成员变量”形式来进行访问;私有的数据成员能被类中的其他成员函数或友元函数所调用;保护的数据成员可以在类体中使用,也可以在派生类中使用,但不能在其他类外通过对象使用。 ? 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); coutdata.geta1()endl; coutdata.geta2()endl; } 12:分析以下程序的错误原因,给出修改方案使之能正确运行。 #include iostream.h class Amplifier{ float invol,outvol; public: Amplifier(float vin,float vout) {invol=vin;outvol=vout;} float gain(); }; Amplifier::float gain() { return outvol/invol; } void main() { Amplifier amp(5.0,10.0); cout\n\nThe gain is =gain()endl; } 分析:成员函数在类体外定义格式是:函数返回类型 类名::成员函数名(参数表);成员函数调用格式是:对象名.成员函数名(参数表)。 改正后的程序如下: #include iostream.h class Amplifier { float invol,outvol; public: Amplifier(float vin,float vout) {invol=vin;outvol=vout;} float gain(); }; float Amplifier::gain() { return ou

文档评论(0)

youbika + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档