過載(overload):同乙個類中,函式名字相同,引數不同(引數型別和個數),virtual可有可無(返回值這個條件不構成過載)
覆蓋(override,重寫):子類函式覆蓋父類函式,函式名字相同,引數相同,基類函式必須有virtual關鍵字,子類virtual可有可無
隱藏:子類函式把父類函式隱藏,函式名字相同,引數不同,virtual可有可無子類函式把父類函式隱藏,函式名字相同,引數相同,基類函式沒有virtual關鍵字
class animal
virtual ~animal()
//函式過載
void show()
void show(int var)
// int show()//錯誤寫法
//
//虛函式
virtual void print()
//普通函式
void eat()
void donothing()
void fun()
protected:
string m_name;
char m_***;
int m_age;
};class lion:public animal
~lion()
//覆蓋父類的print,同名函式,引數一樣,返回值一樣,父類有virtual關鍵字
void print()
//隱藏父類的print
void print(int var)
// int print()//錯誤寫法
//
//同名函式,引數一樣,返回值一樣,隱藏父類的eat
void eat()
//同名函式,引數不一樣,返回值一樣,隱藏父類的donothing
void donothing(int var)
//同名函式,引數一樣,返回值不一樣,應該也算隱藏?
int fun()
private:
float m_weight;
};int main(int argc, char *ar**)
深入了解 C 函式 過載 覆蓋 隱藏
在c 的類中函式定義的時候會有 過載,覆蓋 也成為重寫 隱藏 也成為重定義 三種情況下面說說他們的區別,以及一些注意事項 學習c 中的類,主要有兩種,一種是用struct 關鍵字 定義的,預設情況下類中的成員是public屬性,而另一種使用class 關鍵字 定義的預設是private屬性的。子類在...
c 過載 覆蓋 隱藏
成員函式的過載 覆蓋與隱藏 成員函式的過載 覆蓋 override 與隱藏很容易混淆,c 程式設計師必須要搞清楚 概念,否則錯誤將防不勝防。8.2.1 過載與覆蓋 成員函式被過載的特徵 1 相同的範圍 在同乙個類中 2 函式名字相同 3 引數不同 4 virtual 關鍵字可有可無。覆蓋是指派生類函...
c 過載 覆蓋 隱藏
成員函式的過載 覆蓋與隱藏 成員函式的過載 覆蓋 override 與隱藏很容易混淆,c 程式設計師必須要搞清楚 概念,否則錯誤將防不勝防。8.2.1 過載與覆蓋 成員函式被過載的特徵 1 相同的範圍 在同乙個類中 2 函式名字相同 3 引數不同 4 virtual 關鍵字可有可無。覆蓋是指派生類函...