c++中類本身之間的函式關係與基類和子類之間的函式關係有:覆蓋、過載與隱藏。
1>覆蓋:c++中在基類用virtual定義的函式在子類中重新定義,此時稱為覆蓋,即子類對父類函式的覆蓋。
2>過載:同乙個類中定義了多個同名但其形參不同的函式,這些同名函式之間為過載。
3>隱藏:函式的隱藏有兩種情況。第一,如果派生類的函式與基類的函式同名,但是引數不同。此時,不論有無virtual
關鍵字,基類的函式將被隱藏;第二,如果派生類的函式與基類的函式同名,並且引數也相同,但是基類函式沒有virtual
關鍵字。
此時,基類的函式被隱藏。
#includeusing namespace std;上述**中:class base
(1)函式derived::f(float)覆蓋了base::f(float)。
(2)函式derived::g(int)隱藏了base::g(float)。
(3)函式derived::h(float)隱藏了base::h(float)。
(4)函式derinved::h(int)過載了derived::h(float),反之亦然,過載的函式之間是相互的。
c 覆蓋 過載與隱藏
成員函式被過載的特徵 1 相同的範圍 在同乙個類中 2 函式名字相同 3 引數不同 具體分為引數個數不同 引數型別不同 const 4 virtual 關鍵字可有可無。覆蓋是指派生類函式覆蓋基類函式,特徵是 1 不同的範圍 分別位於派生類與基類 2 函式名字相同 3 引數相同 4 基類函式必須有vi...
C 中的函式過載 覆蓋與隱藏
在c 語言中,函式扮演著很重要的角色,不管面向過程設計,還是基於物件設計 不管是物件導向程式設計,還是基於泛型程式設計,函式都可以隨處而見。在談論c 中的函式過載 覆蓋和隱藏之前,先回顧下函式的基礎知識。函式的宣告包括函式的返回值型別,函式名稱,引數列表 引數的型別 引數的個數 引數的順序 例如,宣...
C 中的函式過載 覆蓋與隱藏
在c 語言中,函式扮演著很重要的角色,不管面向過程設計,還是基於物件設計 不管是物件導向程式設計,還是基於泛型程式設計,函式都可以隨處而見。在談論c 中的函式過載 覆蓋和隱藏之前,先回顧下函式的基礎知識。函式的宣告包括函式的返回值型別,函式名稱,引數列表 引數的型別 引數的個數 引數的順序 例如,宣...