Russian Qt Forum

Программирование => С/C++ => Тема начата: onlik от Февраль 05, 2009, 20:01



Название: Вопрос про подгружаемые классы
Отправлено: onlik от Февраль 05, 2009, 20:01
Такая проблема, прочитал что лучше инклудить классы в cpp файлах в h если нужно объявлять класс class QClass например, если нужно.

Вот код, но выдается ошибка что QClass не найден...
Если пропишу #include <QClass> в h файле, тогда все окей...
Если убираю const QClass &class = QClass::Any, также работает.
В чем проблема?

Код:
my.h
------
class QClass

class My
{
public:
     My(quint16 port, const QClass &class = QClass::Any);
     ~My();
};


my.cpp
-------------
#include <QClass>


Название: Re: Вопрос про подгружаемые классы
Отправлено: BRE от Февраль 05, 2009, 20:11
В этом случае нужно использовать #include <QClass>, т.к. компилятору нужно понять что такое QClass::Any.
или не использовать значение по умолчанию:

my.h
Код
C++ (Qt)
class QClass; // Не забываем ;
 
class My
{
public:
My( quint16 port, const QClass &class );
};
 


Название: Re: Вопрос про подгружаемые классы
Отправлено: onlik от Февраль 05, 2009, 21:02
Спасибо, понял!


Название: Re: Вопрос про подгружаемые классы
Отправлено: lit-uriy от Февраль 05, 2009, 21:04
>>или не использовать значение по умолчанию:
если быть точнее, то не использовать ни одного члена класса, который предварительно объявлен и не наследоваться от него.


Название: Re: Вопрос про подгружаемые классы
Отправлено: AAXEE от Февраль 19, 2009, 11:10
Кстати, никак не могу понять для чего нужно в хэдере писать
class AnyClass ;
Что можно почитать на эту тему? Или в двух словах, если можно.


Название: Re: Вопрос про подгружаемые классы
Отправлено: Karl-Philipp от Февраль 19, 2009, 11:16
прописывая class AnyClass, мы имееем возможность объявлять ссылки и указатели без включения соответствующего заголовка в файл.
Поправьте, если я не прав :)


Название: Re: Вопрос про подгружаемые классы
Отправлено: spirit от Февраль 19, 2009, 11:27
forward declaration. (http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.11)


Название: Re: Вопрос про подгружаемые классы
Отправлено: AAXEE от Февраль 19, 2009, 13:33
Спасибо!