九九百科網

位置:首頁 > 經驗 > 

重載覆蓋和隱藏的區別

經驗2.4W

重載覆蓋和隱藏的區別

區別如下:

重載:是一個類內部實現相同機理的操作,但是操作的對象不同,主要體現在:方法在同一個類中,重載的方法名稱相同,參數不同(參數的類型不同,參數的個數不同),virtual關鍵字可有可無;覆蓋:就是面向對象中的多態,是子類的方法覆蓋了基類的方法,以實現不同的功能,或者對父類的功能進行擴充。主要體現在:派生類函數覆蓋基類函數,不同的範圍(分別位於派生類和基類中),函數名稱相同,參數相同,基類函數必須有virtual關鍵字;隱藏:是派生類的函數屏蔽了與其同名的基類函數,其特點主要體現在:如果派生類的函數與基類的函數同名,但是參數不同,不論有無virtual關鍵字,基類的函數都將被覆蓋,如果派生類的函數與基類的函數同門,並且參數也相同,但是基類函數沒有virtual關鍵字,基類的函數也將被隱蔽。
標籤:重載 覆蓋