Одна переменная с несколькими возможными классами?C++

Программы на C++. Форум разработчиков
Anonymous
Одна переменная с несколькими возможными классами?

Сообщение Anonymous »

У меня есть следующий сценарий:
  • У меня есть куча классов A , b , ... и все они обнажают один и тот же API, void -функции начинают и остановить .
  • В зависимости от выбора пользователя, программа должна запустить начало < /code> Функция выбранного класса.
  • В некоторое более позднее время, в зависимости от выбора пользователя, они могут запустить функцию stop .
    < li> Вернитесь к шагу 1.
Я думал, что могу просто сделать какой -то базовый класс с некоторым началом и Stop < /code> api, и все остальные классы наследуют от Base . Затем идея заключалась в том, чтобы инициализировать базовый myvar , а затем сделать myvar , когда выбран пользователя будет предоставлен, но это будет означать, что myvar будет иметь разные классы в разных ветвях, и компилятор жалуется . < /p>
Альтернатива - определить одну переменную для каждого класса, но тогда есть много дублирования кода. < /p>
Есть ли какой -нибудь способ только к У вас есть одна переменная и только раз в выборе пользователя? Например, после определения myvar один раз, просто используйте myvar.start () и myvar.stop () везде.

Подробнее здесь: https://stackoverflow.com/questions/794 ... le-classes

Вернуться в «C++»