- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)