函式的過載,覆蓋,隱藏區別

2021-08-11 04:03:07 字數 351 閱讀 6718

過載

指同一可訪問區內被宣告的幾個具有不同引數列(引數的型別,個數,順序不同)的同名函式,根據引數列表確定呼叫哪個函式,過載不關心函式返回型別。注意是相同的範圍(同乙個類),函式名相同,引數不同,跟virtual 沒有關係。

覆蓋

也翻譯成重寫,指派生類中存在重新定義的函式。其函式名,引數列表,返回值型別,所有都必須同基類中被重寫的函式一致。重寫的基類中被重寫的函式必須有virtual修飾。注意是父類子類範圍。

隱藏

指子類遮蔽了與其同名的父類函式,只要同名就可以,不管引數是否相同,是否有virtual。

C 函式覆蓋,過載,隱藏的區別

c 中函式的覆蓋,過載和隱藏之間的關係是很令人頭疼的,又是不太容易區分的,現在此總結一下。範圍的不同 函式的過載發生在類內部,而函式的覆蓋,也叫函式重寫,及函式隱藏發生在類間。也就是說,在同乙個類中只會發生函式的過載,而在子類與父類間會發生覆蓋和隱藏。宣告方式的不同 在同乙個類中,如果宣告多個函式,...

過載 覆蓋 隱藏的區別

在csdn上經常看到這種問題 如何區別3者,從論壇中已經能夠找到完善的答案,現在自己也總結一下,加深印象,同時希望對讀者您有用。這不是乙個新的概念,在c 中乙個比較重要的概念 c語言裡面不允許 特徵就是允許函式名相同,通過指定不同的引數或者返回值來區別。這裡我們所說的過載是針對c 中類的,類中過載與...

過載 覆蓋 隱藏的區別

過載 覆蓋 隱藏的區別 成員函式被過載的特徵 1 相同的範圍 在同乙個類中 2 函式名字相同 3 引數不同 4 virtual 關鍵字可有可無。覆蓋是指派生類函式覆蓋基類函式,特徵是 1 不同的範圍 分別位於派生類與基類 2 函式名字相同 3 引數相同 4 基類函式必須有virtual 關鍵字。隱藏...