前些天學習了C++中重載,隱藏和覆蓋的區別,又從網上搜集了一些關於這方面的資料。
簡單整理如下。
重載
前提條件:
1、成員函數在同一個作用域呢。
2、成員函數的函數名必須相同。
3、成員函數的參數在順序,個數,類型上至少有一個不相同。或者是常函數,或者參數中const修飾的指針或引用,都可以做爲重載的條件。
覆蓋
前提條件:
1、成員函數在不同的作用域內。
2、必須要有Virtual 修飾。
3、函數的名稱,參數及其他必須完全相同。
隱藏
前提條件:
1、派生類中含有和基類相同的函數名,但是參數不相同。
2、派生類中中成員函數和基類的成員函數名稱,參數等全部完全相同,但是基類中的成員函數沒有Virtual 關鍵字修飾。
一些簡單的筆記。