struct A{
virtual void f(){}
bool check(){ return ... }
};
struct B: public A{
void f(){}
};
struct C: public A{
};
Чего бы такого написать в A::check() что бы при вызове B().check() получать true а при вызове C().check() получать false?
Ввести в A флаг и изменять его значение неспортивно;-)