C++ 讲解:多继承和多重继承

时间:2022-09-01 15:49:51

多继承和多重继承


多继承

多继承是一个类有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 修饰。