多继承和多重继承
多继承
多继承是一个类有2个以上父类。
多继承的对象初始化方式是父类依次初始化。
A()–>B–>AB()
销毁时正好是初始化的反顺序。
~AB–>~B()–>A~()
class A{};
class B{};
class AB:public A,public B{};
多重继承
多重继承是一个类的父类也有父类。
多重继承的对象初始化方式最高的父类到子类。
A()–>B–>C()
销毁时正好是初始化的反顺序。
~C–>~B–>A()
class A{};
class B:public A{};
class C:public B{};
用子类初始化父类,为避免内存泄露,父类的构析函数最好用virtual 修饰。