虚继承 对于继承概念中的虚函数请参阅虚函数 虚继承 是面向对象编程中的一种技术是指一个指定的基类在继承体系结构中将其成员数据实例共享给也从这个基类型直接或间接派生的其它类 举例来说假如类A和类B各自从类X派生非虚继承且假设类X包含一些数据成员且类C同时多继承自类A和B那么C的对象就会拥有两套X的实例数据可分别独立访问一般要用适当的消歧义限定符但是如果类A与B各自虚继承了类X那么C的对象就只包含一套类X的实例数据对于这一概念典型实现的编程语言是C 这一特性在多重继承应用中非常有用可以使得虚基类对于由它直接或间接派生的类来说拥有一个共同的基类对象实例避免由于带有歧义的组合而产生的问题如菱形继承问题其原理是间接派生类C穿透了其父类上面例子中的A与B实质上直接继承了虚基类X 这一概念一般用于继承在表现为一个整体而非几个部分的组合时在C中基类可以通过使用关键字virtual来声明虚继承关系