虚继承
Posted 邓涛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚继承相关的知识,希望对你有一定的参考价值。
由多继承和多重继承引发的一些问题? 看一个例子:
在这个例子中,即有多继承,又有多重继承,类D继承于类B和类C,而类B和类C都继承于类A,
这就导致类D中会存在两份类A,这是不允许的,那么就得通过今天的虚继承来解决这个问题。
虚继承用法如下所示:
1 class Person { 2 3 }; 4 5 class Worker : virtual public Person { 6 7 }; 8 9 class Farmer : virtual public Person { 10 11 }; 12 13 class MigrantWorker : public Worker, public Farmer { 14 15 };
那么使用MigrantWorker这个类去实例化一个对象,那么这个对象当中只含有一份Person的数据。
参考: 《慕课网》
以上是关于虚继承的主要内容,如果未能解决你的问题,请参考以下文章