1 虚继承是多重继承中特有的概念;虚拟基类是为解决多重继承而出现的。如下图:
A
/
B
A
/
C
B C
\ /
D
类D继承自类B和类C,而类B和类C都继承类A,因此出现下图这种情况:
A A
\ /
B C
\ /
D
在类D中会两次出现A。 为了节省内存空间,可以将B、C对A的继承定义为虚继承,而A就成了虚基类。最后形成如下图所示的情况:
A
/ \
B C
\ /
D
2 虚函数继承是解决多态性,当用基类指针指向派生类对象的时候,基类指针调用虚函数的时候会自动调用派生类的虚函数
虚函数继承: