Использование указателя на базовый класс для доступа к производному классу и наоборот - PullRequest
0 голосов
/ 11 марта 2020

У меня есть следующая иерархия

class A {
…
}
class B: public A{
…
}
class C: public B {
…
}
void foo()
{
auto* bar = dynamic_cast<C*> getPointerToInsanceOfA();
//use bar as if it were a pointer to object of derived class C.
}

Я пробовал это, это работает, как ожидалось.

Как насчет foo1?

void foo1()
{
Auto* bar1 = dynamic_cast<A*> getPointerToInsanceOfC();
//use bar1 as if it were a pointer to object of base class A .
}

Есть ли какие-либо подводные камни, связанные с сращиванием объектов или чем-то еще в обоих случаях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...