我有以下類別:爲什麼虛擬功能會隱藏?
class A {
public:
virtual void f() {}
};
class B : public A{
public:
void f(int x) {}
};
如果我說
B *b = new B();
b->f();
編譯器錯誤說C2660: 'B :: F':函數不接受0參數。 B中的函數不應該重載它,因爲它是一個虛函數?虛擬功能是否隱藏起來?
編輯:我確實打算從A繼承B,B顯示了相同的行爲。
也許你想得出''從A' B' 「這是使用using聲明輕鬆完成」? – 2010-11-10 16:17:48