大学MOOC C++程序设计(A)(浙大宁波理工学院)1452158222 最新慕课完整章节测试答案
第二周类和对象基础
第二周测验
1、单选题:
有类A如下定义:class A { int v; public: A ( int n) { v = n; }};下面哪条语句是编译不会出错的?
选项:
A: A) A a = new A();
B: B) A a2;
C: C) A * p = new A();
D: D) A a1(3);
答案: 【 D) A a1(3);】
2、单选题:
假设 A 是一个类的名字,下面的语句生成了几个类A的对象?A * arr[4] = { new A(), NULL,new A() };
选项:
A: A) 1
B: B) 2
C: C) 3
D: D) 4
答案: 【 B) 2】
3、单选题:
假设A 是一个类的名字,下面哪段程序不会用到A的复制构造函数?
选项:
A: A) A a1,a2; a1 = a2;
B: B) void func( A a) { cout << "good" << endl; }
C: C) A func( ) { A tmp; return tmp; }
D: D) A a1; A a2(a1);
答案: 【 A) A a1,a2; a1 = a2;】
4、单选题:
类A定义如下:class A { int v; public: A(int i) { v = i; } A() { }};下面哪段程序不会引发类型转换构造函数被调用?
选项:
A: A) A a1(4)
B: B) A a2 = 4;
C: C) A a3; a3 = 9;
D: D) A a1,a2; a1 = a2;
答案: 【 D) A a1,a2; a1 = a2;】
5、单选题:
假设A是一个类的名字,下面的程序片段会调用类A的调用析构函数几次? int main() { A * p = new A[2]; A * p2 = new A; A a; delete [] p;}
选项:
A: A) 1
B: B) 2
C: C) 3
D: D) 4
答案: 【 C) 3】
6、填空题:
学生信息处理程序 通过码
答案: 【 764bac47336c8a317d06f4bb0810e521dceda240038ace10a7bd0f620223f2b2】
7、填空题:
奇怪的类复制 通过码
答案: 【 5329e5a40d42660a196f82e7e85df0f5ed6934b07997ae31cfb3b5377c0c34c2】
8、填空题:
超简单的复数类 通过码
答案: 【 aa9d54dc2c83fa8679947502aeef44a58bf2b436cab551547369ed0704d8e22e】
9、填空题:
哪来的输出 通过码
答案: 【 e248fdecd84dbc7d59521d00c6ac649c4081a7d2dac39d1b8193bb3896faa17f】
第三周类和对象提高
第三周测验
1、单选题:
1) 以下说法不正确的是:
选项:
A: A) 静态成员函数中不能使用this指针
B: B) this指针就是指向成员函数所作用的对象的指针
C: C) 每个对象的空间中都存放着一个this指针
D: D) 类的非静态成员函数,真实的参数比所写的参数多1
答案: 【 C) 每个对象的空间中都存放着一个this指针】
2、单选题:
2) 下面说法哪个不正确?
选项:
A: A) 静态成员函数内部不能访问同类的非静态成员变量,也不能调用同类的非静态成员函数
B: B) 非静态成员函数不能访问静态成员变量
C: C) 静态成员变量被所有对象所共享
D: D) 在没有任何对象存在的情况下,也可以访问类的静态成员
答案: 【 B) 非静态成员函数不能访问静态成员变量】
3、单选题:
3) 以下说法正确的是:
选项:
A: A) 成员对象都是用无参构造函数初始化的
B: B) 封闭类中成员对象的构造函数先于封闭类的构造函数被调用
C: C) 封闭类中成员对象的析构函数先于封闭类的析构函数被调用
D: D) 若封闭类有多个成员对象,则它们的初始化顺序取决于封闭类构造函数中的成员初始化列表
答案: 【 B) 封闭类中成员对象的构造函数先于封闭类的构造函数被调用】
4、单选题:
4) 以下关
