Добрый день
Есть базовый класс с членом m_polygons
C++ (Qt)
struct CBasePrimitive {
...
Polygons * m_polygons;
...
};
Сейчас он создается в конструкторе и удаляется в деструкторе (scoped в масть, ну то мелочи). Этот класс наследуется 2 десятками др классов, для каждого порожденного класса член m_polygons создается один и тот же, т.е. вроде бы он должен быть singleton'ом каждого порожденного. Но есть 2 исключения
а) CModelPrimitive - для него m_polygons зависит от др члена - строки "name" (имя модели загружаемой с диска)
b) CDetailPrimitive - для него m_polygons зависит от др члена - int "details" (уровень деталировки)
Для этих порожденных можно сделать статик мапы, для остальных singleton'ы. Но все-таки уж очень много классов менять - нет ли более элегантного решения?
Спасибо