17秋北理工《面向对象程序设计》在线作业.doc
文本预览下载声明
北理工《面向对象程序设计》在线作业
试卷总分:100 测试时间:--
多选题
判断题
、单选题(共 38 道试题,共 76 分。)
1. 下列关于C++函数的描述中,正确的是()。
A. 每个函数至少要有一个参数
B. 每个函数都必须返回一个值
C. 函数在被调用之前必须先进行声明或定义
D. 函数不能自己调用自己
满分:2 分
2. 下列关键字中不能用来声明类成员访问权限的是()。
A. public
B. static
C. protected
D. private
满分:2 分
3. 在下列的各类函数中,______不是类的成员函数。
A. 构造函数
B. 析构函数
C. 友元函数
D. 拷贝构造函数
满分:2 分
4. 派生类对象对它的基类成员中()是可以访问的。
A. 公有继承的私有成员
B. 公有继承的保护成员
C. 公有继承的公有成员
D. 私有继承的公有成员
满分:2 分
5. 定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。
A. int*p=newint[30]
B. int*p=newint(30)
C. int*p=new[30]int*p=new[30]
D. *p=newint[30]
满分:2 分
6. 多继承时对象的构造顺序中包含如下4步:①所有非虚基类的构造函数按照它们被继承的顺序构造;②所有虚基类的构造函数按照它们被继承的顺序构造;③所有子对象的构造函数按照它们声明的顺序构造;④派生类自己的构造函数体;这4个步骤的正确顺序是()。
A. ④③①②
B. ②④③①
C. ②①③④
D. ③④①②
满分:2 分
7. 若函数原型为voidFun(intx,inty=6,intchar=a),则下列调用错误的是()。
A. Fun(5)
B. Fun(5, b)
C. Fun(5,8)
D. Fun(2,4, b)
满分:2 分
8. 在横线处填入语句()后,下列语句序列能够正确执行。。int*ptr;delete[]ptr;
A. ptr=new int(5);
B. ptr=new int[5];
C. ptr=new int;
D. ptr=malloc(5);
满分:2 分
9. 下列程序的输出结果是()。#includeiostream.hclassPart{public:Part(intx=0):val(x){coutval;}~Part(){coutval;}private:intval;};classWhole{public:Whole(intx,inty,intz=0):p2(x),p1(y),val(z){coutval;}~Whole(){coutval;}private:Partp1,p
A. 123321
B. 213312
C. 213
D. 123123
满分:2 分
10. print()函数是某类中无返回值的常成员函数,下列表示中,正确的是()。
A. void print() const
B. const void print()
C. void const print()
D. void print(const)
满分:2 分
11. 在下面的类定义中,横线处应填入的内容是()。classMyClass{private:staticintcount;};count=0;
A. int
B. static int
C. int MyClass
D. static int MyClass:
满分:2 分
12. 复制构造函数的参数通常为()
A. 某个对象名
B. 某个对象的成员名
C. 某个对象的引用名
D. 某个对象的指针名
满分:2 分
13. 下列描述中,错误的是()。
A. 析构函数中调用虚函数采用静态联编
B. 对虚析构函数的调用可以采用动态联编
C. 当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数
D. 构造函数可以声明
满分:2 分
14. 有如下类声明:classMyClass{public:MyClass(){cout1;}};执行语句MyClassa,b[2],*p[2];后,程序的输出结果是()。
A. 11
B. 111
C. 1111
D. 11111
满分:2 分
15. 关于封装,下列说法中不正确的是()。
A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体
B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C. 通过封装,每个对
显示全部