【发布时间】:2011-05-07 23:39:13
【问题描述】:
我有以下课程:
class A {
public:
virtual void f() {}
};
class B : public A{
public:
void f(int x) {}
};
如果我说
B *b = new B();
b->f();
编译器显示错误 C2660: 'B::f' : function does not take 0 arguments。 B中的函数不应该重载它,因为它是一个虚函数吗?虚函数会这样隐藏吗?
编辑:我确实打算从 A 继承 B,这显示了相同的行为。
【问题讨论】:
-
也许你想从
A派生B?