Дорогие друзья,
Объясните пожалуйста феномен:
class A // base
{
public:
virtual void method()
{
std::cout << "A";
}
};
class B : public A // B->A
{
public:
void method()
{
std::cout << "B";
}
};
class C : public B // C->B->A
{
public:
void method()
{
std::cout << "C";
}
};
...
...
int main(...)
{
....
A * a = new C;
a->method(); // печатает C
}
.... не первый год использую плюсы в повседневности, но ... почему вызывается не B::method() ? Какая здесь логика?