程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++中函數覆蓋 隱藏 重載區別

C++中函數覆蓋 隱藏 重載區別

編輯:C++入門知識

C++在繼承這一節涉及到函數覆蓋 隱藏 重載等,如何區別它們呢?

首先函數覆蓋的條件:<1>基類函數必須是虛函數

                                      <2>發生覆蓋的兩個函數要分別位於派生類和基類中

                                     <3>函數名稱和參數列表完全相同

其次函數隱藏主要有以下兩種情況:

               <1>派生類的函數和基類函數完全相同(函數名和參數列表相同),只是基類的函數沒有使用virtual關鍵字。此時基類的函數將被隱藏,而不是覆蓋。

   <2>派生類的函數與基類的函數同名,但參數列表不同,在這種情況下,不管基類的函數聲明是否有virtual關鍵字,基類的函數都被隱藏,注意這種情況與函數重載的區別,重載發生在同一個類中。

最後函數重載的條件:發生在同一個類中,函數名相同,參數類表或類型不同。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved