二、填空题
1. “面向对象”程序设计的三大基本特性是封装性、
_____继承性________ 、多态性。
2、C++支持两种多态性:_____编译____时的多态性和____运行______时的多态性。
3.在函数体之前加 _____const____ 关键字可以防止覆盖函数改变数据成员的
值。
4、对于类中定义的任何成员,其隐含访问权限为____private____。
5、若只需要通过一个成员函数读取数据成员的值,而不需要修改它,则应在函数头的后面加上___const_____关键字。
6. 如果new返回的指针丢失,则所分配的堆空间无法收回,称为  ___内存泄露
__ 。
7、在继承机制下,当对象消亡时,编译系统先执行派生类的析构函数,然后才执行派生类中子对象类的析构函数,最后执行基类的析构函数。
8、假定用户为类AB定义了一个构造函数“AB(int aa):a(aa){}”,则____a______是该类的数据成员。
9. 假定用户没有给一个名为 car 的类定义析构函数,则系统自动给出的缺省析
构函数定义为 _____~car(){}_________ 。
10. 访问一个指针所指向的对象的成员所用的运算符是 ___->______ 。
11、已知有定义“int x, a[]={5,7,9}, *pa=a;”,在执行“x=++*pa;”语句后,x的值是___6_____,*(pa+1)的值为____7____。
12.若希望用一个已有对象来构造另一个同类型的对象,可以使用拷贝构造函
数来实现。
13、假定AB为一个类,则类定义体中的“AB(AB& x);”语句为该类_____拷贝构造函数_________的原型语句,而“operator=(AB& x);”为该类____赋值重载函数__________的原型语句。
14、为了访问某个类的私有数据成员,必须在该类中声明该类的友元。
15、静态成员是局部于类的成员,它提供一种同类对象的__ 共享 __机制。
16、访问一个指针所指向的对象的成员所用的运算符是 ____->_____ 。
17. 面向对象程序设计有四个主要特点,即抽象、封装、__继承 __和__多态__。
18.在用class定义一个类时,数据成员和成员函数的默认访问权限是
析构函数的定义__private(私有)______。
19.在函数体之前加 ___const______ 关键字可以防止覆盖函数改变数据成员的
值。
20.私有数据通常由公有成员函数来访问(读和写)。这些函数统称为__类的接
口_______。
21.在字长为32位的机器中,sizeof(float)=4字节,sizeof(double)=8_
字节
22.引用通常用作函数的参数和___返回值_____。
23. 如果new返回的指针丢失,则所分配的堆空间无法收回,称为  ____内存泄
露_______ 。
24.C++中多态性包括两种多态性:___编译___时的多态性和___运行___时的多
态性。
25. 若有char a[80];则cin>>a表示从键盘上读入一个___字符串___ 到数组a
中。
26.静态数据成员是类的所有对象中共享的成员,静态数据成员初始化与
一般数据成员初始化不同。
27. C++流类库定义的cin,cout,cerr和clog是____全局流对象_______ 。
28. 访问一个指针所指向的对象的成员所用的运算符是 ___->______ 。
29. 假定用户没有给一个名为 shape 的类定义析构函数,则系统自动给出的缺
省析构函数定义为 ____~shape(){}______________ 。
30.__构造函数___是特殊的成员函数,在创建和初始化对象时调用。
__静态成员___是局部于类的成员,它提供一种同类对象的__共享____机制。
31.运算符重载的作用是使运算符可以操作自定义的_类对象___,但重载后运算符原有的优先级和结合性___不变。
32.派生类不能访问基类的_私有__成员,但可以访问基类的公有成员和_保护___成员。
33.具有__纯虚函数___的类称为抽象类。
三、判断题
1.( × )基类中被说明为protected和private的成员只能被其派生类的成
员函数访问,不能被其它的函数访问。
2.( × )break语句也可以用于if体内,它可退出if语句。
3.( × ) 类的静态数据成员需要在定义每个类的对象时进行初始化。
4.(×)友元函数说明在类体内,它是一种成员函数。
5.( × )在传值调用中,要求实参和形参的类型完全一致并且个数相等。
6.( √ ) 如果派生类的成员函数的原型与基类中被定义为虚函数的成员函
数原型相同,那么,这个函数自动继承基类中虚函数的特性。
7.(×)异常必须在其产生的当前函数中捕获,而不能在外层函数中捕获
该异常。
8.( √ ) 如果派生类的成员函数的原型与基类中被定义为虚函数的成员函
数原型相同,那么,这个函数自动继承基类中虚函数的特性。
9.( × ) 类的静态数据成员需要在定义每个类的对象时进行初始化。
10.( √ )程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。
11.( √)重载函数必须有不同的参数列表。
12.( √ )类B从类A公有继承,则程序段  A a;B &b=a;会引发编译错误。
13.(√)拷贝构造函数用于用类的一个对象去初始化该类的另一个对象时
使用,也可已用于当函数的形参是类的对象,调用函数时,进行形参与实参结合时使用。
14.( √ )类中所提供的成员函数可以直接访问私有成员。
15. ( √ ) int i,*p=&i;是正确的C说明。
16.( √)析构函数不能被继承。
17.(×)一个类只有一个构造函数, 但可以有多个析构函数。
18.(√)引用和指针都可作函数参数。
19.(×)对于任意正确定义的类,都可以构造出该类型的对象。
20.( √ )若要实例化一个含有引用型数据成员的类,那么只能使用构造
函数初始化列表来初始化该数据成员。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。