Здравствуйте, GrigorievAnton, Вы писали:
GA>Задача такая: есть базовый класс и много наследников от него. В конструкторе всех классов нужно выполнить одинаковую последовательность действий, только с одним параметром, правила вычисления которого разные в различных классах. Я засунул эти вычисления в конструктор базового класса, а вычисление параметра вынес в отдельную виртуальную функцию, которую перекрываю в наследниках. Получается примерно так:
GA>GA>class BaseClass
GA>{
GA> public BaseClass(...)
GA> {
GA> int param = GetParam(...);
GA> // Здесь реализация одинакового для всех классов алгоритма,
GA> // в котором есть зависимость от param
GA> }
Алгоритм в конструкторе? Нельзя ли вынести?
Если нет, можно вынести метод GetParam во вспомогательную сущность и передать ее в конструктор явно.