Skip to content

Latest commit

 

History

History
6 lines (3 loc) · 724 Bytes

为什么需要虚继承.md

File metadata and controls

6 lines (3 loc) · 724 Bytes

虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。 如:类D继承自类B1、B2,而类B1、B2都继 承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类,虚拟继承在一般的应用中很少用到,所以也往往被忽视,这也主要是因为在C++中,多重继承是不推荐的,也并不常用,而一旦离开了多重继承,虚拟继承就完全失去了存在的必要因为这样只会降低效率和占用更多的空间。

虚继承的特点是,在任何派生类中的virtual基类总用同一个(共享)对象表示,