Только что попался на пример: наследование от двух классов.
Для нового пользовательского класса делаю наследование с public от двух классов QGraphicsItem и QObject (наследую QObject для сигнал-слотового механизма). Но компилятор мне ругается примерно такими словами:
debug\moc_graphicspixmapitem.cpp:46: error: 'staticMetaObject' is not a member of 'QGraphicsPixmapItem'
debug\moc_graphicspixmapitem.cpp: In member function 'virtual void* GraphicsPixmapItem::qt_metacast(const char*)':
debug\moc_graphicspixmapitem.cpp:66: error: 'qt_metacast' is not a member of 'QGraphicsPixmapItem'
debug\moc_graphicspixmapitem.cpp: In member function 'virtual int GraphicsPixmapItem::qt_metacall(QMetaObject::Call, int, void**)':
debug\moc_graphicspixmapitem.cpp:71: error: 'qt_metacall' is not a member of 'QGraphicsPixmapItem'
Почитав топик вот тут
http://www.prog.org.ru/topic_4418_0.html, вдруг обратил внимание что последовательность классов при наследовании идет в другом порядке, т.е. не "public QGraphicsItem, public QObject", а "public QObject, public QGraphicsItem".
Университетский курс C++ был давно. С тех пор из-за того, что не сталкиваюсь часто с разными вещями, забываю многие вещи (если конечно я их помнил
).
Просветите пожалуйста, в чем тут фишка? (книжки под рукой нету
)