1. 程式人生 > >c++中overload過載、override覆蓋、overwrite重寫的介紹與區別

c++中overload過載、override覆蓋、overwrite重寫的介紹與區別

(1)overload(過載),即函式過載:
①在同一個類中;
②函式名字相同;
③函式引數不同(型別不同、數量不同,兩者滿足其一即可);
④不以返回值型別不同作為函式過載的條件。
(2)override(覆蓋,子類改寫父類的虛擬函式),用於實現C++中多型:
①分別位於父類和子類中;
②子類改寫父類中的virtual方法;
③與父類中的函式原型相同。
(3)overwrite重寫或叫隱藏,子類改寫父類的非虛擬函式,從而遮蔽父類函式)
①與overload類似,但是範圍不同,是子類改寫父類;
②與override類似,但是父類中的方法不是虛擬函式。