virtual-method- все статьи тега


Вызов виртуальных функций внутри конструкторов

Предположим, у меня есть два класса C++: class A { public: A() { fn(); } virtual void fn() { _n = 1; } int getn() { return _n; } protected: int _n; }; class B : public A { public: B() : A() {} virtual void fn() { _n = 2; } }; если я напишу следующий код: int main() { B b; int n = b.getn(); } можно было бы ожидать, что n имеет значение 2. получается, что n имеет значение 1. Зачем? ...