关于继承和派生的基本知识点
1.1假如公有派生类B的基类是A,则B可以调用A的公有成员,B中存在A的私有成员,但是不能调用A的私有成员。
1.2 派生类中的成员与基类同名时,访问b.a (派生类的) b.A::a (访问的是基类成员)。
1.3 基类的指针 A bp=&b; 可以指向其派生类,因为派生类对象包含一个基类对象,这个指针只能访问派生类中继承的基类成员。
1.4 (重要,经过验证的) 私有派生类对于基类的static成员,基类的static成员声明为protected 或者public,私有派生类仍可以访问它们。
1.5 访问声明,仅用于私有派生情况下。
访问声明的形式为:
基类类名::基类保护段或共有段数据成员
基类类名::基类保护段或共有段成员函数名 P228
a.访问声明不能说明任何类型
b.访问声明仅用于派生类中恢复名字的访问权限,不允许提升或者降低基类成员的可访问性。基类的私有成员,不能用于访问声明。
1.6构造函数的执行顺序,先基类 其次对象成员 最后派生类; 析构函数先派生类后基类。
1.7 虚基类的构造函数在非虚基类之前调用;若同一层次包含多个虚基类,虚基类的构造次序按说明次序调用
对象之间的合作方式:继承、友元类、对象作成员。类既可以看做模块,又可以看做类型。