今天我感觉自己像个菜鸟:
class Base
{
public:
virtual void foo(int)=0;
virtual void foo(int, int) {}
virtual void bar() {}
};
class Derived : public Base
{
public:
virtual void foo(int) {}
};
void main()
{
Derived d;
d.bar(); // works
d.foo(1); // works
d.foo(1,2); // compiler error: no matching function call
}
我希望d
继承foo(int, int)
自Base
,但事实并非如此。那么我在这里错过了什么?