1. 程式人生 > >C++過載,覆蓋,隱藏

C++過載,覆蓋,隱藏

在網上看到了很多講這三個區別的部落格,我也總結了(搬運)要點如下:

一:過載

  1. 相同的範圍(在同一個類中)
  2. 函式名字相同
  3. 引數不同
  4. virtual 關鍵字可有可無

二:覆蓋(派生類函式覆蓋基類函式)

  1. 不同的範圍(分別位於派生類與基類)
  2. 函式名字相同
  3. 引數相同
  4. 基類函式必須有 virtual 關鍵字

 三:隱藏(派生類的函式遮蔽了與其同名的基類函式)

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

參考博文連結如下:http://blog.csdn.net/daniel_h1986/article/details/5360344

還有一篇更深講解的好博文連線如下:http://blog.csdn.net/ring0hx/article/details/1605254