基类的指针可以指向派生类,反之不行
基类的引用可以初始化为派生类的对象,反之不行
例1:
2.构造派生类对象时,先执行基类的构造函数,再执行子类的构造函数,析构反之
例2:
输出:
father construct
son construct
son delete
father delete
3.如果是多重继承,基类的构造顺序按给定的顺序,析构反之
例3:
输出:
father construct
mother construct
son construct
son delete
mother delete
father delete
4.利用基类的构造函数构造子类,效率更高
例4:
输出:
father construct:1
son construct:2
5.void Test(int i)const 与 void Test(int i)是两个不同的函数,可以同时存在这两个重载
6.
公有成员 | 保护成员 | 私有成员 | |
公有继承 | 公有 | 保护 | 私有 |
保护继承 | 保护 | 保护 | 不可访问 |
私有继承 | 私有 | 私有 | 不可访问 |
成员函数 | 1 | 1 | 1 |
对象 | 1 | 0 | 0 |
子类 | 1 | 1 | 0 |