虚基类和抽象类二者没有联系
虚继承的目的是让某个类做出声明,承诺愿意共享它的基类。其中,这个被共享的基类就称为虚基类(Virtual Base Class)
抽象类是一种特殊的类,带有纯虚函数的类为抽象类。
注意:
a、抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。如果派生类中没有重新定义纯虚函数,而只是继承基类的纯虚函数,则这个派生类仍然还是一个抽象类。如果派生类中给出了基类纯虚函数的实现,则该派生类就不再是抽象类了,它是一个可以建立对象的具体的类。b、抽象类是不能定义对象的。
**补充:
纯虚函数声明如下: virtual void funtion1()=0; 纯虚函数一定没有定义