1)下面是乙個多繼承的 **:
1 #include22)然後 我又加了乙個類 就是 funiture3using
namespace
std;
4class
bed5
12};
13class
sofa
1421
};22
23//
然後 我還有乙個沙發床
24//
下面是多繼承,支援繼承兩個類,兩個類中的所有東西都繼承過來了
25class sofa_bed:public bed,public
sofa
2633
};34
35int
main()
36
1 #include2你看 我的** bed類和sofa類 都繼承了 funiture 那麼都會有 cai_zhi 這個變數,然後 我的sofa_bed 繼承了 bed和sofa 那麼就有了兩個 cai_zhi(乙個來自bed,乙個來自sofa)3using
namespace
std;45
class
funiture6;
10class bed:public
funiture
1118
};19
class sofa:public
funiture
2027
};28
29//
然後 我還有乙個沙發床
30//
下面是多繼承,支援繼承兩個類,兩個類中的所有東西都繼承過來了
31class sofa_bed:public bed,public
sofa
3239
};40
41int
main()
42
沙發床 有兩個 cai_zhi 變數
那麼,就來了 我要是 沙發床.cai_zhi 就出現變數不明確的問題 因為,你不知道是 bed繼承來的cai_zhi 還是 sofa 繼承來的 cai_zhi
但是 加了 virtual 就不會有這個問題了, 我的 sofa_bed 的 cai_zhi 最終來自於 爺爺的 funiture
c 多繼承和虛繼承
一 關於多繼承 菱形繼承 指的是b繼承a,c繼承a,d繼承b和c。下圖是菱形繼承的過程,以及各類的簡單的記憶體布局。菱形繼承存在的問題 間接基類的資料會出現多份導致訪問出錯,並且存在記憶體浪費 我們可以利用虛繼承來解決這一問題。二 虛繼承 虛繼承是物件導向程式設計中的一種技術,是指乙個指定的基類,在...
C 多繼承 虛繼承
一,多繼承 include include using namespace std class b1 繼承類c void main 主函式 c類按照順序繼承b2,b1,b4,b3 再按照資料成員定義順序 memberb1,memberb4,memberb3,memberb2 最後是自己的構造器 二,...
繼承(單繼承 多繼承 菱形繼承 虛繼承)
一 單繼承 單繼承是一種 乙個子類只有乙個直接父類 的繼承關係。二 多繼承 多繼承是一種 乙個子類有兩個或兩個以上直接父類 的繼承關係。三 菱形繼承 菱形繼承由兩個 或以上 單繼承,乙個多繼承構成,結構如下 顯然,上例中assistant類多繼承了student和teacher兩個類,而studen...