C 筆記 函式過載 覆蓋 隱藏

2021-09-13 14:34:35 字數 1094 閱讀 2532

過載(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 關鍵字可有可無。覆蓋是指派生類函...