一、派生类的声明:
class 派生类名:继承方式 基类名1, 继承方式 基类名2,...,继承方式 基类名n{
派生类成员声明;
};
构造函数的调用顺序只和声明时的顺序有关。
二、引用和指针的区别
1、引用不存在空引用,必须指向一块合法的内存,指针存在空指针。
2、引用必须在创建时初始化,指针可以在任何时候初始化。
3、引用只能够被初始化一次,不可更改。指针可以随时改变指向,更加灵活。
三、继承后权限
四、虚继承和多态
1、类的构造函数不能被继承。解决方法:在派生类的构造函数中调用基类构造函数
2、虚继承:解决多继承时的命名冲突和冗余数据问题
关键字:virtual
3、如果基类申明为virtual,派生类申不申明都为virtual,具有继承性。
4、(1)如果为虚函数,则派生类虚函数会遮蔽基类虚函数,从而调用派生类。
(2)如果没有申明为virtual,则会采用就近原则。
5、多态:重写虚函数(重写:子类重定义父类的做法),有虚函数才有多态。
(2)只有派生类的虚函数遮蔽基类的虚函数(函数原型相同)才可构成多态。