虚继承


由多继承和多重继承引发的一些问题?  看一个例子:

   

在这个例子中,即有多继承,又有多重继承,类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的数据。

 

参考:  《慕课网》

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM