類的繼承有三種方式,其一爲公有繼承/其二爲私有繼承/其三爲保護集成。其繼承原理大體以下代碼:
class A{
public: //公有成員
private://私有成員
product: //保護成員
};//創建一個基類,即繼承的類
1.公有繼承:
class B:public A{
};//以公有方式繼承A類,則A類中的成員屬性在繼承類中保持不變。
2.私有繼承:
class B:private A{
};//以私有方式繼承A類,則A類中的成員屬性在繼承類中須要該變。A類中的公有成員在B類變成私有成員,保護成員也變成私有成員,天然私有成員還是私有成員。其中無關鍵字private,則系統默認私有繼承。
3.保護繼承:
class B:product A{
};//以保護方式繼承A類,則A類中的成員屬性在繼承類中須要該變。A類中的公有成員在B類變成保護成員,保護成員不作改變,私有成員還是私有成員。
內部訪問:則爲類中的函數調用這些成員,如:
class B:public A{
public:
void inter(){
//此處可調用基類公有成員
}
};
對象訪問:則爲創建類的對象,如:
int main(){
B object;//類B創建對象爲object,以該對象訪問所 //提成員
return 0;
}
其具體訪問方式 以下總結:
公有繼承的訪問規則 |
|||
類中的成員函數 | 私有成員 | 公有成員 | 保護成員 |
內部訪問 | 不可訪問 | 可訪問 | 可訪問 |
對象訪問 | 不可訪問 | 可訪問 | 不可訪問 |
私有繼承的訪問規則 | |||
類中的成員函數 | 私有成員 | 公有成員 | 保護成員 |
內部訪問 | 不可訪問 | 可訪問 | 可訪問 |
對象訪問 | 不可訪問 | 不可訪問 | 不可訪問 |
保護繼承的訪問規則 | |||
類中的成員函數 | 私有成員 | 公有成員 | 保護成員 |
內部訪問 | 不可訪問 | 可訪問 | 可訪問 |
對象訪問 | 不可訪問 | 不可訪問 | 不可訪問 |