定义
子类可以赋值给父类的对象/引用/指针,把子类多余的部分切掉,留下子类里面的父类赋值,父类不能给子类赋值
作用域隐藏
子类与父类中的相同变量/函数构成隐藏,在子类中使用父类该变量和函数需要使用作用域限定符
默认成员函数
构造,拷贝构造,复制重载都是先调用基类在调用派生类
析构是先调用派生类在调用基类,主要是担心先析构基类万一派生类还需要使用基类中的成员/函数会导致出错
友元
基类友元不能访问派生类私有/保护成员
静态成员
基类的静态成员,整个继承体系里只有一个。无论派生多少只有一个静态成员。
菱形继承
会造成二义性和数据冗余,B C中都会有A基类,D访问的时候不知道访问的是B中的A还是C中的A造成二义性。
使用virtual关键词,将A放在特定的地方,B/C中的A用一个指针(虚基指针)代替,指针指向存有距离A偏移量的续集表。