《面向对象程序设计》第03章在线测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》第03章在线测试
《面向对象程序设计》第03章在线测试剩余时间:53:29
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)
1、类的指针成员的初始化是通过函数完成的,这个函数通常是
A、析构函数
B、构造函数
C、其它成员函数
D、友元函数
2、在 c++ 中实现封装是借助于 ( )
A、枚举
B、类
C、数组
D、函数
3、一段程序的定义如下,在函数f()中将动态对象的成员n的值改为34的语句应该为 ( ) class A { int n; public: setn(int nl) {n=nl;} A(int x) {n = x; } } int f() {A * ptr = new A(45);... }
A、A.n=34;
B、ptr.setn(34);
C、ptr->setn(34);
D、setn(34);
4、假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。
A、0
B、1
C、2
D、3
5、假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行“del_ete []px;”语句时共调用该类析构函数的次数为( )。
A、0
B、1
C、n
D、n+1
第二题、多项选择题(每题2分,5道题共10分)
1、下面有关类说法正确的是( )
A、一个类可以有多个构造函数
B、一个类只有一个析构函数
C、析构函数需要指定参数
D、在一个类中可以说明具有类类型的数据成员
2、构造函数的初始化表一般用来()
A、初始化常量数据成员
B、初始化子对象
C、初始化引用成员
D、初始化静态数据成员
3、下面关于构造函数的说法正确的是()
A、构造函数的函数名与类名相同
B、构造函数可以重载
C、构造函数不可以设置默认参数
D、构造函数必须指定类型说明
4、假定AB为一个类,则执行“AB *s=new AB(a,5);”语句的结果是
A、动态生成对象AB赋值给变量s
B、动态生成对象s
C、如果对象AB中有公有成员a,则s->a可以访问该成员
D、动态生成对象AB,该对象的地址赋值给变量s
5、假定一个类的构造函数为A ( int aa, int bb) { a = aa; b = bb; } ,则执行 A x(4,5); 语句后, x.a 和 x.b 的值分别为 ( ) 。
A、4
B、5
C、20
D、0
第三题、判断题(每题1分,5道题共5分)
1、若Sample类中的一个成员函数说明如下: Void set(Sample &a) 其中Sample &a表示的含义是.a是类Sample的对象引用,用来作函数S et()的形参。
正确错误
正确错误、静态成员函数允许访问类的数据成员。
正确错误的声明中将类之间是一种
正确错误、静态数据成员不从属于任何一个具体对象,所以必须在构造函数对它初始化。
正确错误