1.同名覆蓋原則
當(dāng)派生類與基類中有相同成員時(shí):
若未強(qiáng)行指名赊时,則通過(guò)派生類對(duì)象使用的是派生類中的同名成員缸浦。
如要通過(guò)派生類對(duì)象訪問(wèn)基類中被覆蓋的同名成員试读,應(yīng)使用基類名限定警儒。
2.多重繼承
class 派生類名:繼承方式1? 基類名1竿奏,繼承方式2? 基類名2袄简,...
{
??????? 成員聲明;
}
注意:每一個(gè)“繼承方式”泛啸,只用于限制對(duì)緊隨其后之基類的繼承
3.多繼承時(shí)的構(gòu)造函數(shù)
派生類名::派生類名(基類1形參绿语,基類2形參,...基類n形參候址,本類形參):基類名1(參數(shù)), 基類名2(參數(shù)), ...基類名n(參數(shù))
{
??????? 本類成員初始化賦值語(yǔ)句吕粹;
};
4.二義性問(wèn)題
在多重繼承時(shí)岗仑,基類與派生類之間匹耕,或基類之間出現(xiàn)同名成員時(shí),將出現(xiàn)訪問(wèn)時(shí)的二義性(不確定性)采用虛函數(shù)或同名覆蓋原則來(lái)解決赔蒲。
當(dāng)派生類從多個(gè)基類派生泌神,而這些基類又從同一個(gè)基類派生良漱,則在訪問(wèn)此共同基類中的成員時(shí),將產(chǎn)生二義性采用虛基類來(lái)解決欢际。
5.虛基類
虛基類的引入用于有共同基類的場(chǎng)合聲明virtual修飾說(shuō)明基類例:
class B1:virtual public B
作用主要用來(lái)解決多繼承時(shí)可能發(fā)生的對(duì)同一基類繼承多次而產(chǎn)生的二義性問(wèn)題為最遠(yuǎn)的派生類提供唯一的基類成員母市,而不重復(fù)產(chǎn)生多次拷貝
注意:在第一級(jí)繼承時(shí)就要將共同基類設(shè)計(jì)為虛基類。
6.虛基類及其派生類構(gòu)造函數(shù)
建立對(duì)象時(shí)所指定的類稱為最(遠(yuǎn))派生類
虛基類的成員是由最派生類的構(gòu)造函數(shù)通過(guò)調(diào)用虛基類的構(gòu)造函數(shù)進(jìn)行初始化的损趋。
在整個(gè)繼承結(jié)構(gòu)中患久,直接或間接繼承虛基類的所有派生類,都必須在構(gòu)造函數(shù)的成員初始化表中給出對(duì)虛基類的構(gòu)造函數(shù)的調(diào)用浑槽。如果未列出蒋失,則表示調(diào)用該虛基類的缺省構(gòu)造函數(shù)。
在建立對(duì)象時(shí)桐玻,只有最派生類的構(gòu)造函數(shù)調(diào)用虛基類的構(gòu)造函數(shù)篙挽,該派生類的其它基類對(duì)虛基類構(gòu)造函數(shù)的調(diào)用被忽略。