類的繼承有三種方式,其一為公有繼承/其二為私有繼承/其三為保護集成。其繼承原理大致如下代碼:
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;
}
其具體訪問方式 如下總結:
公有繼承的訪問規則 |
|||
類中的成員函數 | 私有成員 | 公有成員 | 保護成員 |
內部訪問 | 不可訪問 | 可訪問 | 可訪問 |
對象訪問 | 不可訪問 | 可訪問 | 不可訪問 |
私有繼承的訪問規則 | |||
類中的成員函數 | 私有成員 | 公有成員 | 保護成員 |
內部訪問 | 不可訪問 | 可訪問 | 可訪問 |
對象訪問 | 不可訪問 | 不可訪問 | 不可訪問 |
保護繼承的訪問規則 | |||
類中的成員函數 | 私有成員 | 公有成員 | 保護成員 |
內部訪問 | 不可訪問 | 可訪問 | 可訪問 |
對象訪問 | 不可訪問 | 不可訪問 | 不可訪問 |