This doesn't work:
class Foo
{
public:
virtual int A(int);
virtual int A(int,int);
};
class Bar : public Foo
{
public:
virtual int A(int);
};
Bar b;
int main()
{
b.A(0,0);
}
It seems that by overriding Foo::A(int)
with Bar::A(int)
I have somehow hidden Foo::A(int,int)
. If I add a Bar::A(int,int)
things work.
Does anyone have a link to a good description of what's going on here?