Я задал этот вопрос в интервью, и я не был уверен в поведении в следующем случае:понижающее приведение и виртуальные функции
class A
{
virtual fun1(){...}
virtual fun2(){...}
};
class B : public A
{
virtual fun1(){...}
virtual fun2(){...}
};
Теперь, если
A* AObj = new A;
B* BObj = (B*) AObj;
DoES BObj
имеют доступ к Б методов из-за ключевого слова virtual или это не потому, что он указывает на объект AObj
?
Может ли кто-нибудь помочь мне в том, как точно влияет на доступ вниз?
Вы можете просто попробовать его на ideone.com или в любом месте: http://ideone.com/B7P6DN (это дает мне ошибку времени выполнения) – Melkon