派生類成員的標(biāo)識與訪問
1.當(dāng)派生類與基類中有相同成員時:
若未強行指名谤饭,則通過派生類對象使用的是派生類中的同名成員攀芯。
如要通過派生類對象訪問基類中被覆蓋的同名成員,應(yīng)使用基類名限定。
2.二義性問題
在多重繼承時,基類與派生類之間榜旦,或基類之間出現(xiàn)同名成員時,將出現(xiàn)訪問時的二義性(不確定性)——采用虛函數(shù)或同名覆蓋原則來解決景殷。
當(dāng)派生類從多個基類派生溅呢,而這些基類又從同一個基類派生澡屡,則在訪問此共同基類中的成員時,將產(chǎn)生二義性——采用虛基類來解決咐旧。
3.虛基類
虛基類的引入驶鹉,用于有共同基類的場合
作用:主要用來解決多繼承時可能發(fā)生的對同一基類繼承多次而產(chǎn)生的二義性問題.
為最遠的派生類提供唯一的基類成員,而不重復(fù)產(chǎn)生多次拷貝
注意:在第一級繼承時就要將共同基類設(shè)計為虛基類休偶。
4.虛基類及其派生類構(gòu)造函數(shù)
建立對象時所指定的類稱為最(遠)派生類梁厉。
虛基類的成員是由最派生類的構(gòu)造函數(shù)通過調(diào)用虛基類的構(gòu)造函數(shù)進行初始化的。
在整個繼承結(jié)構(gòu)中踏兜,直接或間接繼承虛基類的所有派生類,都必須在構(gòu)造函數(shù)的成員初始化表中給出對虛基類的構(gòu)造函數(shù)的調(diào)用八秃。如果未列出碱妆,則表示調(diào)用該虛基類的缺省構(gòu)造函數(shù)。
在建立對象時昔驱,只有最派生類的構(gòu)造函數(shù)調(diào)用虛基類的構(gòu)造函數(shù)疹尾,該派生類的其它基類對虛基類構(gòu)造函數(shù)的調(diào)用被忽略。