C 中的覆蓋 過載與隱藏

2021-07-04 03:53:16 字數 607 閱讀 6734

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 中的函式過載 覆蓋和隱藏之前,先回顧下函式的基礎知識。函式的宣告包括函式的返回值型別,函式名稱,引數列表 引數的型別 引數的個數 引數的順序 例如,宣...