虛繼承


由多繼承和多重繼承引發的一些問題?  看一個例子:

   

在這個例子中,即有多繼承,又有多重繼承,類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