二、填空题
1、 “面向对象”程序设计的三大基本特性是封装性、
____ 继承性 _________ 、多态性。
2、 C++支持两种多态性: ____ 译_____ 时的多态性和_____ 运行 ______时的多态
性。
3、___________________ 在函数体之前加 const 关键字可以防止覆盖函数改
变数据成员
的值。
4、 对于类中定义的任何成员,其隐含访问权限为 _____ rivate _ 。
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 定义一个类时,数据成员和成员函数的默认访问权限是
__ rivate(私有) _______ 。
19. 在函数体之前加 ___const _____ 关键字可以防止覆盖函数改变数据成员
的值。
20. 私有数据通常由公有成员函数来访问(读和写)。这些函数统称为 —类的接