Название: Приватный класс Отправлено: zodiac от Июль 17, 2010, 16:36 Здравствуйте! При использовании приватных классов столкнулся с небольшой проблемой.
Вот сам класс: smthinfo.h: Код: class SmthInfoPrivate; smthinfo_p.h: Код: class SmthInfoPrivate smthinfo.cpp: Код: SmthInfo::SmthInfo( const QString &name ) : d_ptr( new SmthInfoPrivate ) Дело в том, что если делать так: Код: { Название: Re: Приватный класс Отправлено: asvil от Июль 17, 2010, 17:29 Использовать QSharedDataPointer
qthelp://com.trolltech.qt.460/qdoc/qshareddatapointer.html Название: Re: Приватный класс Отправлено: Авварон от Июль 17, 2010, 17:32 есть идея что вот это
Код: d_ptr( info.d_ptr ) Название: Re: Приватный класс Отправлено: zodiac от Июль 17, 2010, 17:56 Использовать QSharedDataPointer В этом случае тогда не надо будет использовать Q_D()?qthelp://com.trolltech.qt.460/qdoc/qshareddatapointer.html есть идея что вот это Да я тоже так думал, но не нашел как исправить)Код: d_ptr( info.d_ptr ) Название: Re: Приватный класс Отправлено: zodiac от Июль 17, 2010, 19:54 Посмотрим, что будет. поправил вот так:
Цитировать SmthInfo::SmthInfo( const SmthInfo &info ) : d_ptr( new SmthInfoЗкшмфеу ) { *d_ptr = *info.d_ptr; } SmthInfo &SmthInfo::operator=( const SmthInfo &info ) { *d_ptr = *info.d_ptr; return *this; } Название: Re: Приватный класс Отправлено: asvil от Июль 17, 2010, 21:26 Q_D надо будет использовать пока используется Q_DECLARE_PRIVATE.
А вообще, чего необходимо добиться? Как QString общие данные у объектов, пока кто-нибудь из экземпляров не начнет запись? Если да, еще раз отправляю вас на ниже указанную ссылку. Название: Re: Приватный класс Отправлено: kuzulis от Июль 18, 2010, 14:22 zodiac,
на сайте habrahabr.ru есть две оч хорошие статьи про приватные классы. Поищи. Там все разжевано с примерами. Название: Re: Приватный класс Отправлено: zodiac от Июль 18, 2010, 15:36 Q_D надо будет использовать пока используется Q_DECLARE_PRIVATE. Все-таки сделал как написал выше. Работает аналогично QString.А вообще, чего необходимо добиться? Как QString общие данные у объектов, пока кто-нибудь из экземпляров не начнет запись? Если да, еще раз отправляю вас на ниже указанную ссылку. zodiac, Две? Спасибо, а то я читал только одну.на сайте habrahabr.ru есть две оч хорошие статьи про приватные классы. Поищи. Там все разжевано с примерами. Название: Re: Приватный класс Отправлено: asvil от Июль 18, 2010, 15:48 Как вам угодно.
|