overload和override的區別

Overload意思爲超載,是針對同名方法的不同表現形式,參數列表不同。例如:
void f(int i);
void f(int i, int j);

兩個方法是overload關係

override是複寫(覆蓋),是完全相同的參數列表,一般用於面向對象的繼承

例如:
class CBase
{
public:
  virtual void f(int i);
};

class CDerived : public CBase
{
public:
   virtual void f(int i);
};

這裏子類的f覆蓋了父類的f。

Overloaded方法返回值當然可以更改,當如果只更改返回值是不能overload的,編譯會出錯。但Override不可以,參數列表必須完全一樣。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章