在c++中,當你使用乙個包含了過載方法的類時,並且當你繼承和重寫這個方法後,你必須重寫所有過載的方法。
例子:
class firstclass ;
void firstclass::methoda (int i)
void firstclass::methoda (int i, int j)
這個簡單類有兩個方法(乙個過載方法),如果你想重寫只有乙個引數的版本,你可以這樣:
class secondclass : public firstclass ;
void secondclass::methoda (int i)
void main ()
然而,第二個呼叫會失敗,因為兩個引數的方法methoda 是不可見的。這個就是名字隱藏。
class father
};class child:public father
};int main()
同樣地父類中的函式被隱藏了
C 技巧之名字空間namespace
c的開發人員會經常使用 define,即用巨集來宣告常量,但巨集卻是全域性的,對大的工程很難維護,經常是導致名字衝突。還好,c 給我們帶來了namespace名字空間。它的使用如下,名字空間可以把一組邏輯分組,同時名字空間也是一種作用域。view plain copy to clipboard pr...
C 技巧之名字空間namespace
原文 c的開發人員會經常使用 define,即用巨集來宣告常量,但巨集卻是全域性的,對大的工程很難維護,經常是導致名字衝突。還好,c 給我們帶來了namespace名字空間。它的使用如下,名字空間可以把一組邏輯分組,同時名字空間也是一種作用域。namespace outspname class kl...
繼承 名字隱藏
include using namespace std peasant繼承自human,human繼承自cre 基類,生物類 class cre 析構函式 cre 成員函式 int gethp void sethp int hp int getdef int getact void move voi...