C++习题练习.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、单选题 (本题共10小题,每题2分,共20分) 1.下面选项中,不是类的成员函数为 A) 构造函数 B) 析构函数 C) 友元函数 D) 复制构造函数 2.下面对析构函数的正确的描述是 A) 系统可以提供默认的析构函数 B) 析构函数必须由用户定义 C) 析构函数可以重载 D) 析构函数可以设置默认参数 3.关于类和对象不正确的说法是_ A) 类是一种类型,它封装了数据和操作 B) 对象是类的实例 C) 一个类的对象只有一个 D) 一个对象必属于某个类 4.在类的外部,可以被访问的成员有_ A) 所有类成员 B) private或protected的类成员 C) public的类成员 D) public或private的类成员 5.声明一个类的对象时,系统自动调用一个函数;撤消对象时,系统自动调用一个函数;该函数为__ A) 成员函数;构造函数 B) 复制构造函数;析构函数 C) 构造函数;析构函数 D) 析构函数;复制构造函数 6.假定XY为一个类,则该类的拷贝构造函数的声明语句为。 A) XY(XY x); B) XY(XY x); C) XY(XY x); D) XY(XY *x); 7.当一个派生类保护继承一个基类时,基类中的所有公有成员和保护成员成为派生类的 A) 友元 B) private成员 C) public成员 D) protected成员 8.在C++中,要实现动态联编,必须使用__ _____调用虚函数 A) 类名 B) 派生类指针 C) 对象名 D) 基类指针 9.下列函数原型声明中,___ ______声明了fun为纯虚函数 A) void fun()=0; B) virtual void fun()=0; C) virtual void fun(); D) virtual void fun() {}; 10.假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为。 Aint AA::a()???? B) int AA:a() C) AA::a()???? D) AA::int a() 填空题(本题共10小题,每题3分,共30分) 类A中有一个数据成员static int b,在类外为它定义并初始化为0时使用的语句为_;_ 在一个派生类中,对派生类对象成员、基类成员和子对象成员的初始化次序是先__ __,后 _ _,最后为_。 把函数void fun(); 定义为一个类ABC的友元函数,则应在类ABC的定义中加入一条语句: _; 。 在C++流类库中,根基类为___ ____。 函数的递归调用是指函数直接或间接地调用 。 在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的,使其初始化。 类只能作为基类使用,而不能声明它的对象。 若要在程序文件中进行文件输入输出操作。必须在开始的#include命令中使用_ _头文件。 通过一个 对象只能调用它的常成员函数,不能调用其他成员函数。 10.类的成员函数可以在类内或类外定义。若在类外定义,在类中必需对成员函数进行____。 写出下列程序运行后的输出结果(本题共6小题,每题5分,共30分) 1.带默认参数的构造函数 #includeiostream.h class M {int a,b; public: M(int aa=1,int bb=2):a(aa),b(bb) {coutconstructor!a+bendl;} }; void main() { M x,y(2,3); } constructor!3 constructor!5 2.析构函数的调用 #includeiostream.h class M {int *a; public: M(int aa=3) { a=new int(aa); coutconstructor!*aendl;} ~M(){coutdestructor! *aendl;} }; void main() { M x[2]; M *p=new M(8); delete p; } constructor!3 constructor!3 constructor!8 destruct

文档评论(0)

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

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

1亿VIP精品文档

相关文档