多態性和重載Overload

1、     覆蓋和重載有什麼不同?

答:虛函數總是在派生類中被改寫,這種改寫稱爲override(覆蓋)

Override是指派生類重寫基類的虛函數。重寫的函數必須有一致的參數表和返回值(C++標準允許返回值不同的情況,但是很少有編譯器支持這個特性)

Overload約定成俗地被翻譯成重載,是指編寫一個與已有函數同名但是參數表不同的函數。重載不是一種面向對象的編程,而只是一種語法規則,重載與多態沒有什麼直接聯繫。

重載構成的條件:函數參數類型、參數個數不同,才能構成函數的重載。

在函數重載時,要注意函數帶有默認參數的這種情況。如:

void output(int a,int b=5)

void output(int a)

調用有歧義,不能構成重載。


發佈了14 篇原創文章 · 獲贊 16 · 訪問量 3157
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章