更新時(shí)間:2020年06月15日14時(shí)40分 來源:傳智播客 瀏覽次數(shù):
重載overload,覆蓋override,重寫overwrite,這三者之間有什么區(qū)別?
答:
a. overload,將語義相近的幾個(gè)函數(shù)用同一個(gè)名字表示,但是參數(shù)和返回值不同,這就是函數(shù)重載。
特征:相同范圍(同一個(gè)類中)、函數(shù)名字相同、參數(shù)不同、virtual關(guān)鍵字可有可無。
b. override,派生類覆蓋基類的虛函數(shù),實(shí)現(xiàn)接口的重用。
特征:不同范圍(基類和派生類)、函數(shù)名字相同、參數(shù)相同、基類中必須有virtual關(guān)鍵字(必須是虛函數(shù))。
c. overwrite,派生類屏蔽了其同名的基類函數(shù)。
特征:不同范圍(基類和派生類)、函數(shù)名字相同、參數(shù)不同或者參數(shù)相同且無virtual關(guān)鍵字。
推薦了解傳智播客C/C++培訓(xùn)課程。
北京校區(qū)