Название: Как унаследовать класс от QObject? Отправлено: dr_Begemot от Апрель 23, 2009, 16:46 Как унаследовать класс от QObject?
Видимо я что-то не сделал, т.к. компилятор пишет: error C2248: 'QObject::QObject' : cannot access private member declared in class 'QObject' вот класс: Код: class MyClass : public QObject Название: Re: Как унаследовать класс от QObject? Отправлено: alex12 от Апрель 23, 2009, 16:51 QObject::QObject() закрытый, а QObject::QObject( QObject *parent=0 ) открытый конструктор.
Код
Название: Re: Как унаследовать класс от QObject? Отправлено: lit-uriy от Апрель 23, 2009, 20:31 >>Видимо я что-то не сделал,
2 dr_Begemot, ты видимо в реализации конструктора пишешь так: MyClass::MyClass( ) : QObject() тогда можешь написать так: MyClass::MyClass( ) : QObject(0) Объяснение тебе уже написали, и пример более правильный: >>QObject::QObject() закрытый Название: Re: Как унаследовать класс от QObject? Отправлено: dr_Begemot от Апрель 24, 2009, 08:34 Переделал так:
Код: class MyClass : public QObject в реализации: Код: MyClass::MyClass(QObject *parent) : QObject(parent){ все равно та же ошибка :( Название: Re: Как унаследовать класс от QObject? Отправлено: Steven_Orko от Апрель 24, 2009, 08:58 Тогда приведи содержимое файла полностью, ат акже и весь вывод ошибки (+-10 строк от той, что указывает на использование закрытого метода).
Название: Re: Как унаследовать класс от QObject? Отправлено: dr_Begemot от Апрель 24, 2009, 09:14 Тогда приведи содержимое файла полностью, ат акже и весь вывод ошибки (+-10 строк от той, что указывает на использование закрытого метода). Решил проблему. Надо было добавить такую строчку в класс private: Q_DISABLE_COPY(MyClass) Название: Re: Как унаследовать класс от QObject? Отправлено: alex12 от Апрель 24, 2009, 15:17 Цитировать Q_DISABLE_COPY(MyClass) Странно... У меня собрался просто так: ( MinGW Qt4.5.0 ) Код
Код
Название: Re: Как унаследовать класс от QObject? Отправлено: ритт от Апрель 26, 2009, 02:24 а при чём тут Q_DISABLE_COPY(MyClass) ?
и вопрос на засыпку - что делает и для чего предназначен макрос Q_DISABLE_COPY ?) Название: Re: Как унаследовать класс от QObject? Отправлено: spbtellurian от Июнь 08, 2009, 11:22 что делает и для чего предназначен макрос Q_DISABLE_COPY ?) запрещает саздовать больше одного экземпляра. В наличии начиная с версии Qt 4.4.0 Название: Re: Как унаследовать класс от QObject? Отправлено: spirit от Июнь 08, 2009, 11:25 что делает и для чего предназначен макрос Q_DISABLE_COPY ?) запрещает саздовать больше одного экземпляра. В наличии начиная с версии Qt 4.4.0 Название: Re: Как унаследовать класс от QObject? Отправлено: ритт от Июнь 08, 2009, 11:26 что делает и для чего предназначен макрос Q_DISABLE_COPY ?) запрещает саздовать больше одного экземпляра. В наличии начиная с версии Qt 4.4.0 Название: Re: Как унаследовать класс от QObject? Отправлено: spirit от Июнь 08, 2009, 11:33 запрещает саздовать больше одного экземпляра. В наличии начиная с версии Qt 4.4.0 к тому же Цитировать Q_DISABLE_COPY ( Class ) или код макроса глянь.Disables the use of copy constructors and assignment operators for the given Class. Название: Re: Как унаследовать класс от QObject? Отправлено: BRE от Июнь 08, 2009, 11:34 или код макроса глянь. Даже в assistant'е все расписано с примерами. :)Название: Re: Как унаследовать класс от QObject? Отправлено: Alex Custov от Июнь 08, 2009, 11:46 что делает и для чего предназначен макрос Q_DISABLE_COPY ?) запрещает саздовать больше одного экземпляра. В наличии начиная с версии Qt 4.4.0 это ты с умными синглетонами перепутал :) Название: Re: Как унаследовать класс от QObject? Отправлено: ритт от Июнь 08, 2009, 13:37 кстати (но не в тему), возможно, в 4.6 появится QSingleton :)
|