c++面向对象复习题标准答案版

c++面向对象复习题标准答案版
c++面向对象复习题标准答案版

一、填空题

1.C++中有两种数据类型: ( char)和( intlong)可以使用signed修饰符。

在C++中,用数组、指针、和( 引用)作为函数参数,能够将参数值带回。

2.为了降低函数调用的时间开销,建议将小的调用频繁的函数定义为(内联函数),方法是在函数类型前加上(inline)关键字。

3.面向对象的程序设计有四大特征,它们是抽象、封装、( 继承)、(多态)。

4.拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是( 把对象的每个数据成员的值都复制到新建立的对象中)。

5.用new申请某一个类的动态对象数组时,在该类中必须能够匹配到(该类的)构造函数,否则应用程序会产生一个编译错误。

6.静态数据成员必须在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象( 共享)。

7.在C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型( 不同)。8.在C++中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象程序设计的( 封装)特性。

9.预编译指令由三种,它们是:文件包含、( 宏定义)和(条件编译)。

10.静态的成员函数没有隐含的(this),所以,它们只能直接访问类的静态的数据成员。

11.在C++中,函数的参数有两种传递方式,它们是值传递和(地址)。

12.当非静态成员函数被调用时,该成员函数的( this)指向调用它的对象。

13.拷贝构造函数使用(引用)作为参数初始化创建中的对象。

14.在公有继承的情况下,基类数据成员在派生类中的访问权限(不变)。

15.在C++中,构造派生类对象时,总是先从( 基类)的初始化开始的。

16.当需要统计程序中某个类创建对象的个数时,需要给该类定义(静态数据)成员。

17.在多个类之间有重复继承时,为避免被重复继承的基类数据成员在内存中有多个拷贝,应将该基类定义为(虚基类)。

18.在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为( 抽象类),定义该类至少具有一个( 纯虚函数)。

19.在C++中构造一个对象时,其数据成员在构造函数中初始化。对于内嵌的对象、(常量)、(引用)数据成员需要在构造函数的成员初始化列表中初始化。

20.在类的定义中,说明为protected的数据成员称为保护成员。保护数据成员具有双重作用:对于其派生类而言,( 可以访问);而对于其外部的程序而言, ( 不可以访问)。

21.控制格式输出的

操纵符中,(setprecision)是设置数据精度的,(hex)是设置十六进制的。

22.如果s是int型变量,且s=6,则下面s%2+(s+1)%2表达式的值为__0__。

23.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+4’的值为_e___。

24.数组与函数参数联系密切,当用数组元素作函数参数时,这是属于值传递;当数组名

作为参数时,这是属于地址传递,对形参的改变可影响到实参。

25.利用“对象名.成员变量”形式访问的对象成员仅限于被声明为公有的成员;若要访问其他成员变量,需要通过公有函数或友元函数函数。

26.一个__类____和__对象___的关系,正如基本数据类型与该类型的变量一个。

27.类成员的默认访问方式是_私有的_____.

28.一个类有_多个____个构造函数,有_一个____析构函数。

29.类的__静态___成员函数不能对类中的非静态成员进行默认访问。

30.如果说明类B是类A的友元类,则类B的所有成员函数都是类A的_友元函数_____。

31.利用成员函数对二元运算符重载,其左操作数为对象 ,右操作数为实际参数。

32.类有两种用法:一种是类的实例化,即生成类的__模板类____ ;另一种是通过__基类_____派生出新的类。

33.运算函数中的关键字是__operator____,它和运算符一起组成该运算符函数的函数名。

34.如果一个类中有一个或多个纯虚函数,则这个类称为__抽象类____。

35.文件的打开是通过使用类_ _ _对象_____的成员函数来实现的。

36.设所有变量均为整型,则表达式(e=2,f=5,e++,f++,e+f)的值为_9___。

37.已知c的ASCII码为十进制数99,设k为字符型变量,则表达式k=‘c’+1的值为___d_____。

38.函数的形参在未被调用之前不被分配空间,函数的形参的类型要和实参的相同。

39.类的成员分为数据成员和__ _成员函数____。

40.类完成了面向对象程序设计的_抽象____特性。

41.构造函数是_对象_____被创建时自动执行,对象消失时自动执行的成员函数称为__析构_____对象

43.在继承机制下,当对象消亡时,编译系统先执行派生类的析构函数,然后才执行派生类中子对象类的析构函数,最后执行基类的析构函数。

44.类的__静态_____数据成员是类所有对象共享的成员。

45.友元函数__不是____类的成员函数。(是/不是)

46.如果类A继承了类B,则类A称为__派生类_____,类B称为__基类_____。

47.运算符重载后,原运算符的优先级和结合特性__不会___改变。(会/不会)

48._纯虚函数_____是一个在基类中说明的虚函数,但未给出具体的实现,要求在其派生类实现。

49.文件的关闭是通过通过使用类________的成员函数________来实现的。(去掉)

二、选择题

1.面向对象的(B)是一种信息隐蔽技术,目的在于将对象的使用者与设计者分开。不允许

相关主题
相关文档
最新文档