1.過載:過載從overload翻譯過來,是指同一可訪問區內被宣告的幾個具有不同引數列(引數的型別,個數,順序不同)的同名函式,根據引數列表確定呼叫哪個函式,過載不關心函式返回型別。
示例**如下:
class
a;
前四個互為過載函式,最後乙個和第乙個不是過載函式。
2.隱藏:隱藏是指派生類的函式遮蔽了與其同名的基類函式。注意只要同名函式,不管引數列表是否相同,基類函式都會被隱藏。
#includeusing namespace std;
class a
};class b : public a
};int main()
3.重寫:重寫翻譯自override,也翻譯成覆蓋(更好一點),是指派生類中存在重新定義的函式。其函式名,引數列表,返回值型別,所有都必須同基類中被重寫的函式一致。只有函式體不同(花括號內),派生類呼叫時會呼叫派生類的重寫函式,不會呼叫被重寫函式。重寫的基類中被重寫的函式必須有virtual修飾。
例項**如下:
#includeusing namespace std;
class a
};class b : public a
};int main()
過載和重寫的區別:
隱藏和重寫,過載的區別:
參考資料
1. c++中過載、重寫(覆蓋)和隱藏的區別例項分析
C 中過載 重寫(覆蓋)和隱藏的區別
基本概念 過載 是指同一可訪問區內被宣告的幾個具有不同引數列 引數的型別,個數,順序不同 的同名函式,根據引數列表確定呼叫哪個函式,過載不關心函式返回型別。示例 class a 隱藏 是指派生類的函式遮蔽了與其同名的基類函式,注意只要同名函式,不管引數列表是否相同,基類函式都會被隱藏。示例 incl...
C 中過載 重寫(覆蓋)和隱藏的區別
基本概念 過載 是指同一可訪問區內被宣告的幾個具有不同引數列 引數的型別,個數,順序不同 的同名函式,根據引數列表確定呼叫哪個函式,過載不關心函式返回型別。示例 class a 隱藏 是指派生類的函式遮蔽了與其同名的基類函式,注意只要同名函式,不管引數列表是否相同,基類函式都會被隱藏。示例 incl...
C 中過載 重寫(覆蓋)和隱藏的區別
基本概念 過載 是指同一可訪問區內被宣告的幾個具有不同引數列 引數的型別,個數,順序不同 的同名函式,根據引數列表確定呼叫哪個函式,過載不關心函式返回型別。示例 class a 隱藏 是指派生類的函式遮蔽了與其同名的基類函式,注意只要同名函式,不管引數列表是否相同,基類函式都會被隱藏。示例 incl...