1. 程式人生 > >c++函式過載(overload)和覆蓋(override)

c++函式過載(overload)和覆蓋(override)

過載(overload)

函式名相同,引數型別、數量、順序、返回型別中有一個以上不同:

int add(int a, int b){return a + b;}
double add(double a, double b) {return a + b;} //過載add函式

覆蓋(override)

這是類的虛擬函式相關的概念。基類中的虛擬函式被派生類重新定義,即為覆蓋。基類和派生類中發生覆蓋的虛擬函式返回型別、引數列表相同。

Class Base
{
public:
	virtual int foo(int i, int d)
	{
		return i + d;
} } Class Derived : public Base { public: int foo(int i, int d) //覆蓋 { return i - d; } }