《面向对象程序设计》第03章在线测试
剩余时间:
59:56
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)
1、在 c++ 中实现封装是借助于 ( B)
A、枚举 B、类
C、数组 D、函数
2、假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为( A)。
A、a B、AA::a
C、a() D、AA::a()
3、在关键字public后面定义的成员为类的( B)成员。
A、私有 B、公用
C、保护 D、任何
4、一段程序的定义如下,在函数f()中将动态对象的成员n的值改为34的语句应该为 (C ) 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);
5、假定AB为一个类,则执行 “AB a(2), b[3], *p[4];”语句时共调用该类构造函数的次数为( C)。
A、3 B、4
C、5 D、9
第二题、多项选择题(每题2分,5道题共10分)
1、构造函数的初始化表一般用来( ABC)
A、初始化常量数据成员
B、初始化子对象
C、初始化引用成员
D、初始化静态数据成员
2、下列描述属于类的成员函数的是(ABD )
A、构造函数
B、析构函数
C、友元函数
D、拷贝构造函数
3、假定AB为一个类,则执行 “AB *s=new AB(a,5);”语句的结果是CD
A、动态生成对象AB赋值给变量s
B、动态生成对象s
C、如果对象AB中有公有成员a,则s->a可以访问该成员
D、动态生成对象AB,该对象的地址赋值给变量s
4、使类中的一个指针成员指向一块动态存储空间时,通常不能在下面哪些函数中实现(ACD )
A、析构
B、构造
C、任一函数成员
D、友元
5、假定一个类的构造函数为A ( int aa, int bb) { a = aa; b = bb; } ,则执行 A x(4,5); 语句后, x.a 和 x.b 的值分别为 ( AB) 。
A、4
B、5
C、20
D、0
第三题、判断题(每题1分,5道题共5分)
1、对类中引用成员的初始化是通过构造函数中给出的初始化表实现的。
正确 错误T
2、析构函数的作用是在对象被撤销时收回先前分配的内存空间。
正确 错误T
3、C++允许使用友元,但是友元会破坏封装性。
正确 错误T
4、使用关键字class 定义的类中缺省的访问权限是私有private的。
正确 错误T
5、静态成员函数允许访问类的数据成员。
正确 错误T
网友评论