单继承:一个子类只有一个直接父类时称这个继承关系为单继
class A
{};
class B : public A
{};
class C : public B
{};
多继承:一个子类有两个或以上直接父类时称这个继承关系为多继
class apple
{};
class banana
{};
class fruit :public apple, public banana
{};
菱形继承:菱形继承是多继承的一种特殊情况。
class Person
{};
class Student :public Person
{};
class Teacher : public Person
{};
class Assistant : public Student ,public Teacher
{};
关于菱形继承:
从上面的对象成员模型构造,可以看出菱形继承有数据冗余和二义性的问题。在Assistant 的对象中Person成员会有两份。