C 中的覆蓋和隱藏詳解

2022-09-28 21:33:25 字數 520 閱讀 1786

目錄

當子類繼承父類,並且子類中有父類同名函式,那麼子類將隱藏父類中所有同名函式,不可以對父類中同名函式直接進行訪問,此時子類呼叫父類中函式需要用域操作符::

#include

using namespace std;

class a

b隱藏基類的同名函式function1(),當基類指標a指向子類b時,呼叫的是a的function1()函式,而子類c覆寫a的同名函式function2(),當基類a指標指向子類c,呼叫的是c的function2()函式。

利用覆寫的特點,可以實現c++的多型特性。

隱藏:當父類函式與派生類函式同名,並且父類函式無virtual關鍵字修飾,無論父類與派生類引數個數與型別是否相同,此時派生類函式隱藏父類所有同名函式

覆寫:當父類函式與派生類函式同名,並且引數相同,返回值相同,並且父類函式有vir程式設計客棧tual關鍵字修飾,此時派生類函式覆寫父類函式

c++繼承中的過載,覆蓋和隱藏

本文標題: c++中的覆蓋和隱藏詳解

本文位址:

C 中覆蓋,過載和隱藏

include using namespace std struct foo void func int x 那麼,如果不用 using 宣告,拆分後 中的函式 func 不是過載應該是什麼呢?是隱藏 hide 下面是關於過載 覆蓋和隱藏的區別 這幾個概念都有乙個共同點 函式名稱相同,所以不免讓人混...

隱藏和覆蓋 C

我可以給你說說我的理解 我認為隱藏和覆蓋的區別主要體現在 多型上 舉個例子 隱藏和覆蓋 include include using namespace std class a void f class b public a virtual void g int main 結果是 a a b invo...

C 覆蓋和隱藏

class people virtual void getname different params 隱藏規則2 1 函式名相同 引數相同 2 無virtual void getphone same params 覆蓋規則 1 函式名相同 引數相同 2 有virtual virtual void g...