Название: Проблемы с вызовом функции из другого класса Отправлено: MuLLIKA от Октябрь 12, 2010, 03:02 Всем здрасти!
у меня есть 2 класса: class graphitemclass : public QGraphicsPolygonItem class lineclass : public QGraphicsLineItem в class lineclass подключен h-файл "graphitemclass.h", а в class graphitemclass написанно перед описанием фнкций class lineclass; Когда я делаю: lineclass *lc; lc->func(); то компилятор выдает мне ошибку, где говорит что я не правильно использую структуру "struct lineclass" и пишет forwar declaration "struct lineclass" ссылаясь на запись class lineclass в graphitemclass.h Объясните в чем разница записей class lineclass и #include"lineclass.h" Зарание спасибо! Очень надеюсь на вашу помощь!!! Название: Re: ПРоблемы с вызовом йункции из другого класса Отправлено: shirushizo от Октябрь 12, 2010, 08:49 #include <graphitemclass.h> - на этапе предкомпиляции текст файла graphitemclass.h будет добавлен в это место.
class lineclass; - определение класса, его обычно пишут чтобы само описане класса можно было написать после кода, которые его вызывает. Название: Re: Проблемы с вызовом функции из другого класса Отправлено: navrocky от Октябрь 12, 2010, 11:13 Если в хедере используется только указатель на класс то его можно объявить как class used_class; не подключая его хедер, тем самым уменьшив количество зависимостей и снизив время компиляции. Но для использования методов этого класса в cpp необходимо все-таки подключить хедер.
Типичный пример: my_class.h Код
my_class.cpp Код
Название: Re: Проблемы с вызовом функции из другого класса Отправлено: MuLLIKA от Октябрь 12, 2010, 14:01 Спасибо!=)
|