1.虚基类:继承时,用于多继承时,B->A,C->A,D->B,C,此时D类中相当于继承两个相同的
成员都是来自于A,此时class B:virtual A ;class C:virtual A;class D;public B,
public C;即当多个派生类来自相同基类同时作为一个子类的父类时;此时只保留一个副本
2.虚函数:继承时,在子类中存在与父类相同的成员时,此时在父类中把此函数用virtual
修饰,则子类中的该类函数也有虚函数性质,为了方便所有该函数都写上virtual,当然
不相同时也可以把函数用virtual修饰,virtual修饰函数时会在对象生成时产生虚函数表,
根据编译器不同,虚函数表的指针为8或16位。
3.纯虚函数:拥有纯虚函数的类为抽象类,只是声明一个函数但不去实现它,让派生类去
实现它,virtual type 函数名(形参)= 0;
成员都是来自于A,此时class B:virtual A ;class C:virtual A;class D;public B,
public C;即当多个派生类来自相同基类同时作为一个子类的父类时;此时只保留一个副本
2.虚函数:继承时,在子类中存在与父类相同的成员时,此时在父类中把此函数用virtual
修饰,则子类中的该类函数也有虚函数性质,为了方便所有该函数都写上virtual,当然
不相同时也可以把函数用virtual修饰,virtual修饰函数时会在对象生成时产生虚函数表,
根据编译器不同,虚函数表的指针为8或16位。
3.纯虚函数:拥有纯虚函数的类为抽象类,只是声明一个函数但不去实现它,让派生类去
实现它,virtual type 函数名(形参)= 0;