网站大量收购独家精品文档,联系QQ:2885784924

c++类与对象作业题挺重要.pdf

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
做你想做的,但你首先要知道你想做的是什么 一、选择与填空 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; voidshow(){coutx;} void show(){coutx;} }; } C. class P{ D. class P{ intf; public: }; int a; f=25; void Seta (int x) {a=x;} 答案:D 分析:在类体内不可对数据成员进行初始化;类定义结束时需用分号;只有类中的 成员函数才能存取类中的私有数据。 5.拷贝构造函数具有的下列特点中,( )是错误的。 A.如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的 B.拷贝构造函数只有一个参数,并且是该类对象的引用 C.拷贝构造函数是一种成员函数 D. 拷贝构造函数的名字不能用类名 答案:D 分析:如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的;拷贝 构造函数只有一个参数,并且是该类对象的引用;拷贝构造函数的名字与类同名, 并且不被指定返回类型;拷贝构造函数是一种成员函数。 6.关于静态成员的描述中,( )是错误的。 A.静态成员可分为静态数据成员和静态成员函数 B.静态数据成员定义后必须在类体内进行初始化 C.静态数据成员初始化不使用其构造函数 D.静态数据成员函数中不能直接引用非静态成员 答案:B 静态成员的初始化位置在哪 怎么初始化的 分析:静态成员可分为静态数据成员和静态成员函数;静态数据成员被定义后,必 须对它进行初始化,初始化在类体外进行,一般放在该类的实现部分最合适,也可 以放在其他位置,例如,放在主函数前面等;静态数据成员初始化与该类的构造函 数和析构函数无关;在静态成员函数的实现中,可以直接引用静态成员,但不能直 接引用非静态成员。 7.关于友元的描述中,( )是错误的。 A.友元函数是成员函数,它被说明在类体内 B. 友元函数可直接访问类中的私有成员 C. 友元函数破坏封装性,使用时尽量少用 D. 友元类中的所有成员函数都是友元函数 答案:A 分析:友元函数是非成员函数,在类体内说明了,在类体外定义,定义和调用等同 于一般的普通函数;由于它可以直接访问类的私有成员,因此破坏了类的封装性和 隐藏性,尽量少用。 8.设有如下程序结构: 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 对象。 10.利用 “对象名.成员变量”形式访问的对象成员仅限于被声明为 (1)的成员;若 要访问其他成员变量,需要通过 (2) 函数或 (3) 函数。 答案: (1) public (2) 成员函数 (

文档评论(0)

137****0427 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档