Установка типа переменной-члена в базовом классе на основе непрямого потомка?C++

Программы на C++. Форум разработчиков
Anonymous
Установка типа переменной-члена в базовом классе на основе непрямого потомка?

Сообщение Anonymous »

Я столкнулся со следующей загадкой в ​​C++, для которой не могу найти решение. У меня есть абстрактный класс Model наверху моей иерархии наследования, который мне нужен, чтобы содержать переменную-член, представляющую параметры модели. Он реализует целый набор шаблонной логики и используется для полиморфизма. Тип этой переменной зависит от большинства производных классов, реализующих конкретные модели, например. HullWhite должен наследовать член HullWhiteParams от Model.
Между этими двумя существует несколько уровней наследования. Если бы был только один уровень, эту проблему можно было бы решить с помощью CRTP. Я также не могу использовать шаблоны промежуточных классов, поскольку мне нужны указатели на них для полиморфизма. Есть ли способ добиться этого? По сути, я ищу шаблон, подобный CRTP, который передает информацию о конечных классах обратно на вершину иерархии.

Подробнее здесь: https://stackoverflow.com/questions/784 ... irect-desc

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