Преобразование экземпляра Base в производный класс без членов - PullRequest
0 голосов
/ 13 января 2019

Я унаследовал (не каламбур) некоторый код, который имеет это:

class Base {
public:
    static Base* GetInstance() { 
        return pInstance; //static member (initialized as Singleton with new Base(); 
    }
    void Foo();
};


class Derived : public Base {
    Derived() {}
public:
    Bar();
};

И его использование выглядит так:

((Derived*)Base::GetInstance())->Bar();

Это определенное поведение?

Он работает на MSVC, и я понимаю, почему его можно определить, но я не знаю, как проверить, если это так (кроме просьбы о некоторой мудрости).

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