參考鏈結
runoob.com
繼承操作
繼承操作可以通過乙個已有類來定義新的類。說白了就是當我們在定義乙個新類的時候,不需要重新編寫新的類成員和方法,可以繼承已有的類成員即可。其中,已有的類為基類,新建立的類成為派生類。
派生類可以從多個基類進行繼承,下面看一下派生類的定義方法:
class 派生類名: 訪問許可權(public/private/protect) 基類;
下面通過例項來說明一下:
#include using namespace std;
//基類
class animalclass
;animalclass::animalclass (){}
int animalclass::setanimalfeature(int itmpvar1, float itmpvar2)
animalclass ::~animalclass (){}
//派生類
class dogclass : public animalclass //宣告派生類
;dogclass::dogclass(){}
int dogclass::getdoginfo()
dogclass::~dogclass(){}
int main()
執行結果
狗的年齡:2高度:0.5
注:上面講解了派生類繼承了乙個基類裡面的方法和類成員變數,下面我們來說乙個繼承多個基類的使用方法:
class 派生類名:《訪問許可權1> 基類1, 《訪問許可權2> 基類2,...
舉例說明
#include using namespace std;
//基類1
class animalclass
;animalclass::animalclass (){}
int animalclass::setanimalfeature(int itmpvar1, float itmpvar2)
animalclass ::~animalclass (){}
//基類2
class foodclass
;foodclass ::foodclass(){}
int foodclass::seteatfood(char * ctmpname)
foodclass ::~foodclass(){}
//派生類
class dogclass : public animalclass, public foodclass //宣告派生類
;dogclass::dogclass(){}
int dogclass::getdoginfo()
int dogclass::getdogeatfood()
dogclass::~dogclass(){}
int main()
執行結果
狗的年齡:2高度:0.5
狗的喜歡吃:meat
聊完了派生類中繼承單個基類和多個基類,下面我們來說一下訪問許可權的作用,訪問許可權主要有public、private、protected三種:
public(公有繼承):保持基類裡面方法和類變數的訪問控制,即原先為public許可權,繼承下來同樣為public許可權;即原先為protected許可權,繼承下來同樣為protected許可權;privated不能派生訪問,但是可以呼叫public和protected成員來進行訪問。
protected(保護繼承): 當乙個類派生自保護基類時,基類的公有和保護成員將成為派生類的保護成員。
private(私有繼承):當乙個類派生自私有基類時,基類的公有和保護成員將成為派生類的私有成員
其實,就是取派生類訪問許可權和基類許可權的交集。
說明:派生也不是類中所有成員和變數都可以進行派生的,例如:基類的建構函式、析構函式和拷貝建構函式、基類的過載運算子、基類的友元函式,就不能進行派生訪問。
下面通過表來看一下,類中訪問許可權的作用範圍:
刷野打怪上王者 C 篇 第4期 注釋
c 注釋 要寫出好程式,一方面要實現特定的功能,另外一方面就是能夠讓別人看懂自己寫的 那怎麼讓人更好的看懂自己的 一是要有良好的命名規則 這個已經在上篇說過啦 二是要有寫程式注釋的習慣。在c 程式設計中的注釋主要有兩個 單行注釋和多行注釋。單行注釋其實就是在程式行前新增 cout hello wor...
刷野打怪上王者 C 篇 第27期 總結
刷野打怪上王者 c 篇 第26期 時間函式 預處理 刷野打怪上王者 c 篇 第25期 動態記憶體處理 刷野打怪上王者 c 篇 第24期 訊號處理 刷野打怪上王者 c 篇 第23期 標準流輸入輸出 刷野打怪上王者 c 篇 第22期 多執行緒處理 刷野打怪上王者 c 篇 第21期 模板處理 刷野打怪上王...
刷野打怪上王者 C 篇 第9期 判斷 迴圈
參考鏈結 runoob.com 判斷 在判斷語句中主要有兩種 if.else和switch兩個語句。下面我們還是主要通過 來說明 先看一看看if.else語句 include using namespace std int main 執行結果 ivar1 小於 ivar2上面這段 是前幾篇中提到的,...