C++中的重載(Overloading)和重寫(Overriding)是兩種不同的概念。
重載是指在同一個作用域內,對同一個函數名進行多次定義,但每次定義的參數類型、個數或順序不同。重載函數根據參數的不同來區分調用哪一個函數。重載可以發生在同一個類中的成員函數之間,也可以發生在不同的類之間的成員函數之間。重載函數的返回類型可以相同也可以不同。
重寫是指在派生類中對基類的虛函數進行重新定義。當派生類中的函數與基類的虛函數具有相同的名稱、參數列表和返回類型時,派生類的函數會覆蓋基類的虛函數,這稱為函數的重寫。重寫可以實現多態性,即通過基類的指針或引用調用派生類的虛函數。
總結來說,重載是在同一作用域內對同一個函數名進行多次定義,根據參數的不同來區分調用;而重寫是在派生類中對基類的虛函數進行重新定義,實現多態性。