#include <iostream>
class A
{
public:
void operator()()
{
func();
}
void func()
{
std::cout << "class A" << std::endl;
}
};
class B: public A
{
public:
void func()
{
std::cout << "class B" << std::endl;
}
};
class C: public B
{
public:
void func()
{
std::cout << "class C" << std::endl;
}
};
int main(int argc, char *argv[])
{
C c;
c();
c.func();
return 0;
}
И для тренировки мозга, каков будет результат, если func сделать виртуальной функцией? То что ниже этой темы читаем после того, как ответили на задачку...