覆蓋 隱藏 過載

2022-07-19 07:36:09 字數 895 閱讀 8624

成員函式被過載的特徵:

1.相同的範圍(同類中)

2.函式名字相同

3.引數不同

4.virtual關鍵字可有可無

覆蓋是指派生類函式覆蓋基類函式

1.不同的範圍(分別位於派生類與基類)

2.函式名字相同

3.引數相同

4.基類函式必須有virtual關鍵字

隱藏是指派生類的函式遮蔽了與其同名的基類函式

1.函式名相同,但是引數不同。不論有無virtual關鍵字,基類的函式將被隱藏(別與過載混淆)

2.函式名相同,引數也相同,但是基類函式中沒有virtual關鍵字,此時基類的函式被隱藏(別與覆蓋混淆)

也就是說

a. 成員函式被過載的特徵:

( 1 )相同的範圍(在同乙個類中);

( 2 )函式名字相同;

( 3 )引數不同;

( 4 ) virtual 關鍵字可有可無。

b. 覆蓋是指派生類函式覆蓋基類函式,特徵是:

( 1 )不同的範圍(分別位於派生類與基類);

( 2 )函式名字相同;

( 3 )引數相同;

( 4 )基類函式必須有 virtual 關鍵字。

c.「 隱藏 」 是指派生類的函式遮蔽了與其同名的基類函式,規則如下:

( 1 )如果派生類的函式與基類的函式同名,但是引數不同。此時,不論有無 virtual 關鍵字,基類的函式將被隱藏(注意別與過載混淆)。

( 2 )如果派生類的函式與基類的函式同名,並且引數也相同,但是基類函式沒有 virtual 關鍵字。此時,基類的函式被隱藏(注意別與覆蓋混淆)

有virtual 時 看指標  無virtual  看位址

過載 覆蓋 隱藏

學習c 些許時間了,隨便寫點東西吧。過載 覆蓋 隱藏 1.過載 相同作用域,函式名相同,引數不同,virtual關鍵字可有可無。2.覆蓋 不同作用域,函式名相同,引數相同,有virtual關鍵字。3.隱藏 一般是父類和子類之間,函式名相同,引數不同時,不管有沒有virtual關鍵字都會導致隱藏。函式...

覆蓋,隱藏,過載

1.過載 覆蓋與隱藏 1 過載 成員函式具有以下的特徵時發生 過載 a 相同的範圍 同乙個類中 b 函式的名字相同 c 引數型別不同 不能進行隱式型別轉換 d virtual關鍵字可有可無 2 覆蓋 也叫 繼承 指派生類函式覆蓋基類函式,特徵是 a 不同的範圍 分別位於基類與派生類中 b 函式名字相...

覆蓋,過載,隱藏

覆蓋 重寫 過載,隱藏這三者的概念很容易混淆,弄清楚這三者的區別與聯絡是有必要的.覆蓋 重寫 override,過載 overload,多型 polymorphis函式名字相同 引數不相同 引數個數或引數型別不同 相同作用域 virtual關鍵是可有可無 函式名字相同 引數相同 引數個數和引數型別都...