Добрый вечер! Собственно вот:Код:class A{private: virtual void virt(){}};class B: public A{public: virtual void virt(){} int var[100];};int main(int argc, char *argv[]){ A* x = new B; //Памяти выделили размером A, //ссылку на vtable получили от B, //да еще и B::virt на которую ссылается //vtable x стал закрытым, //т.е. x->virt(); не будет работать. }Правил что-то много получается.
|