Вопрос по архитектуре.
Требуется предусмотреть расширение функциональности некоторого класса GLScene (не обязательно весь функциональный набор будет использован в финальной сборке).
Функциональность связана с рисованием некоторых сцен (тестовых).
Для этого создаем классы примеси Scene1Mix, Scene2Mix. Каждый из классов хранит указатель w на объект типа окно QGLWidget на котором будет выполняться рисование.
Вопрос: как правильно передать указателю w указатель на безымянный объект типа QGLWidget (т.е. на GLScene)?
Или подскажите более подходящее архитектурное решение.
class GLScene: public QGLWidget {
...
};
class Scene1Mixin {
QGLWidget * w;
public:
Scene1Mix( QGLWidget * _w ) { w = _w ; }
draw1(){ w.glBegin(/* ...*/;}
}
class Scene2Mixin {
QGLWidget * w;
public:
Scene2Mix( QGLWidget * _w ) { w = _w ; }
draw2(){ w.glBegin(/* ...*/;}
}
class Scene1: public GLScene, public Scene1Mix {
Scene1( /*...*/ ) { /* w = this???; ...*/ draw1(); }
}
поправил заголовок, чтобы не вводить во смущение — Кодт