C++程序设计语言( 第2次) 联系客服

发布时间 : 星期一 文章C++程序设计语言( 第2次)更新完毕开始阅读ba757102aef8941ea66e056b

D.

A::A(int x,int y):x(x){this->y=y;};

18. 下列语句中,能够正确定义一个对象引用的是( )。 A.

Point p(1,2); Point &r; r=p; B.

Point p(1,2); Point &r=p; C.

Point &r=p(1,2);

D.

Point &r; Point p(1,2); r=p;

19. 浅拷贝与深拷贝的区别在于( )。 A.

深拷贝在对非指针成员变量赋值的同时,也对指针成员变量赋值,从而达到所有的成员变量都被赋值的效果 B.

深拷贝会在为成员变量赋值时,将指针成员变量所指向的内存空间也复制一份,让现有对象的指针变量指向这个空间,并且会对对象成员进行上述递归赋值操作

C.

深拷贝会将已有对象的对象成员,逐一递归进行赋值

D.

深拷贝会使已有对象和现有对象的指针成员变量指向同一块内存空间

20. 下列语句中,能够正确初始化一个对象数据的是( )。 A.

Point arr[3]=(Pont(1,2),Point(3,4),Point(5,6)); B.

Point arr[3]={(1,2), (3,4), (5,6)}; C.

Point arr[]={Point(1,2),Point(3,4),Point(5,6)};

D.

Point arr[3]={Point(1,2);Point(3,4);Point(5,6)};

二、判断题(本大题共60分,共 20 小题,每小题 3 分)

1. 函数重载只会发生在相同作用域范围内,而基类的成员和派生类成员属于不同的作用域范围,所以派生类重写的同名函数不会重载基类的同名函数。 2. 无论采用何种方式来生成派生类,基类的私有成员都不能被访问。

3. C++语言支持多重继承,派生类将继承多个父类中共有的同名属性和方法。 4. STL算法中,可变序列算法是对容器内容进行数值计算。

5. 虚基类、直接派生类和间接派生类的析构函数调用顺序完全与它们的构造函数调用顺序相反。

6. 定义对象数组时,对于没有给定初始值的数组元素,系统将通过调用默认构造函数的方式进行初始化。

7. 当以非成员函数形式重载运算符时,有时需要访问参与运算的对象的私有成员,那么我们可以将这个成员函数设置为类的友元函数。

8. 使用私有继承来生成派生类时,基类的公有和保护成员可以被访问,但是私有成员不能被访问。

9. 类模板的参数的默认参数值声明时,如果有多个参数,第一个默认参数后的所有参数必须具有默认参数。

10. 封装是指将一个事物对外联系的属性和行为暴露出来,同时隐藏内部运行机制有关的属性和行为的方法。

11. 只有私有继承方式中,派生类的自定义成员函数才能访问基类的私有成员,其它任何一种派生方式都不允许派生类自定义成员函数访问基类的私有成员。

12. 基类的同名函数会被派生类的同名函数屏蔽,它不会出现在派生类中,当然也不可能使用派生类对象访问基类的同名函数。

13. C语言采用面向对象的思想来进行程序设计;而C++语言采用面向过程的思想来进行程序设计。

14. 无论运算符被重载为类的成员函数还是非成员函数,在函数中都可以访问参与运算的对象的私有成员。

15. 抽象类主要用来进行系统的设计,它的定义往往出现在某一簇类的定义之前,提前描述其它几个类的共同公有成员函数,它是这一簇类的基类。

16. 成员函数全部都是纯虚函数的类,被称为抽象类,不能够被实例化。如果具有非纯虚成员函数,那么这个类就是具体类,可以被实例化。

17. 运算符的重载从本质上来看仍然是函数重载,编译器会将使用运算符的表达式翻译成函数调用。

18. 抽象类是在类的基础上进一步抽象,它定义了某一簇类的共有方法,描述了这一簇类的公有接口。

19. this指针被隐含地传递到每一个成员函数中,包括静态成员函数。 20. 无论虚基类是否定义了默认构造函数,派生类都必须在自己的构造函数中,使用初始化列表去调用虚基类的构造函数。

答案:

一、单项选择题(40分,共 20 题,每小题 2 分)

1. A 2. C 3. A 4. C 5. C 6. C 7. B 8. D 9. D 10. D 11. B 12. A 13. C 14. D 15. D 16. B 17. C 18. B 19. B 20. C

二、判断题(60分,共 20 题,每小题 3 分)

1. √ 2. √ 3. × 4. × 5. √ 6. √ 7. √ 8. √ 9. √ 10. √ 11. × 12. × 13. × 14. × 15. √ 16. × 17. √ 18. √ 19. × 20. ×