C++重載和重寫的區別 c++重載和重寫



文章插圖
C++重載和重寫的區別 c++重載和重寫

文章插圖
重載
一定是同一個作用域下 。
兩函數的函數名相同 , 但是參數不能完全相同 , 可以是參數類型不同 , 也可以是參數個數不同 , 至于返回值 , 不影響 。
重載例子
【C++重載和重寫的區別 c++重載和重寫】void Test(int x, int y){std::cout << "Test int, int" << std::endl;}void Test(int x, double y) {std::cout << "Test int, double" << std::endl;}int main(void) {Test(1, 2);Test(1, 1.1);return 0;}重定義和重寫
發生在兩個不同的類中 , 一個是父類 , 一個是子類 。
重定義分兩種 , 一種是普通函數重定義 , 另一種是虛函數重寫 。
普通函數重定義:如果父類的普通成員函數被子類重寫 , 就是重定義 。
虛函數重寫:如果父類的虛函數被子類重寫 , 就是虛函數重寫 , 這個函數就會發生多態 。