![](https://csdnimg.cn/release/download_crawler_static/86958580/bg5.jpg)
15.面向对象方法构造的系统,其基本单位是对象 。
16.生成一个派生类对象时,先调用基类的构造函数,然后调用派生类的构造函数。
17.AA operator +(AA x )表示为运算符+重载。
18.若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名
前必须加上类名 和两个冒号分隔符。
19.若采用 x.abc(y)表达式调用一个成员函数,在成员函数中使用的*this 就代表了类外的 x
对象。
20.假定用户没有给一个名为AB 的类定义析构函数,则系统为其定义的析构函数为~AB(){}。
21.类的成员按访问权限可分为三类: 公有 、私有、保护。
22.在一个类中定义复制构造函数的目的,是为了当利用该类的一个对象初始化另一个对象
时,能够避免这两个对象的同一指针同时指向同一块 地址 。
23. 假定 AB 为一个类,则执行“AB a[10];”语句时,系统自动调用该类构造函数的次数
为 10。
24. 假定要把 aa 定义为 AB 类中的一个常量整数型数据成员,则定义语句为 const int aa;。
25.假定 AB 为一个类,则该类的复制构造函数的函数头为 AB(AB & )。
26.假定 AB 为一个类,该类中含有一个指向动态数组空间的指针成员pa,则在该类的析构
函数中应该包含有一条 delete pa 语句。
27. 静态成员函数只能访问类的静态数据成员,非静态成员函数 访问类的非静态数据成员。
28. 一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明必须在函数名前加
上 friend 的限定。
29. 一个单目运算符作为类的成员函数重载时有 0 个参数;如果作为友元函数重载,则有1
个参数。
30. 若多个基类及其派生类中都定义了同名函数成员,要访问相应函数时,就需要在函数名
前加上基类名和类区分符。
31. 若要保证一个公共的基类在派生类中只产生一个基类子对象,则必须都以 virtual
的方式直接继承它。
32. 引进虚基类的根本目的是为了消除二义性。
33. 在每个成员函数中,隐含的第一个参数的参数名为 this 指针。
三 写出下列程序的运行结果
1. (1)
#include<iostream.h>
struct ab
{
char a[5];
float b;
};
void main()
{
ab x={"Li",89.6};
cout<<x.a<<'\t'<<x.b<<endl;
}
2. (2)
#include<iostream.h>
struct ab