Это не работает:Что происходит с переопределением и перегрузкой здесь на C++?
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);
}
кажется, что, перекрывая Foo::A(int)
с Bar::A(int)
я как-то скрытый Foo::A(int,int)
. Если я добавлю Bar::A(int,int)
, все будет работать.
У кого-нибудь есть ссылка на хорошее описание того, что здесь происходит?
Возможный дубликат: http://stackoverflow.com/questions/411103/function-with-same-name-but-different-signature-in-derived-class –