crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> class QPushButton вместо include <QPushButton>, class VS #include
dsp
  опции профиля:
сообщение 9.2.2011, 0:14
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 12.10.2010
Пользователь №: 2109

Спасибо сказали: 4 раз(а)




Репутация:   0  


Подскажи пожалуйста.
В разных примерах программ на Qt классы виджетов не добавляются через инклуд

т.е.

#include <QPushButton>
#include <QLabel>
,

а пишутся так:

class QPushButton;
class QLabel;


и т.д.

с чем это связано? и что использовать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
kwisp
  опции профиля:
сообщение 10.2.2011, 10:29
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(Litkevich Yuriy @ 9.2.2011, 20:40) *
как?

проще говоря, дублированием интерфейса.
в заголовочнике только класс с указателем внутри и форвардом класса этого указателя, а так же все желаемые методы продублированы. в cpp наследуешься, а в реализации дублирующих методов вызываешь соответсвующие методы наследника.
пример: допустим ты хочешь спрятать наследование в срр файл.
заголовочник iface.h
class CImpl;

class IFace
{
  CImpl* impl_;

public:
  IFace();
  ~IFace();

void one();
void two();
void three();

};


реализация
# include "iface.h"

class CImpl : public Anything
{
public:
void one();
void two();
void three();
};

void  IFace::one()
{
  return impl_->one();
}

void IFace::two()
{
  return impl_->two();
}

void IFace::three()
{
  return impl_->three();
}


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- dsp   class QPushButton вместо include <QPushButton>   9.2.2011, 0:14
- - Алексей1153   это форварды (предопределения) классов для возможн...   9.2.2011, 0:31
- - igor_bogomolov   Это называется "предварительное объявление кл...   9.2.2011, 0:39
- - Litkevich Yuriy   Существенная оговорка. Предварительное объявление ...   9.2.2011, 6:19
- - Алексей1153   Цитата(dsp @ 9.2.2011, 2:14) class VS #in...   9.2.2011, 9:03
- - Litkevich Yuriy   Цитата(Алексей1153 @ 9.2.2011, 11:03) .но...   9.2.2011, 20:40
- - Алексей1153   Litkevich Yuriy, например так хотим класс QMyLin...   10.2.2011, 8:16
- - kwisp   Цитата(Litkevich Yuriy @ 9.2.2011, 20:40)...   10.2.2011, 10:29
- - Rocky   Цитата(Алексей1153 @ 9.2.2011, 10:03) Цит...   10.2.2011, 11:28
- - Алексей1153   Rocky, Цитата(Rocky @ 10.2.2011, 13:28) ...   10.2.2011, 11:33
- - Rocky   Цитата(Алексей1153 @ 10.2.2011, 12:33) Ци...   10.2.2011, 11:51
- - Алексей1153   Цитата(Rocky @ 10.2.2011, 13:51) Алексей1...   10.2.2011, 12:21
- - igor_bogomolov   to Алексей1153 Цитата(Litkevich Yuriy @ 9.2.2...   10.2.2011, 19:34
- - Rocky   igor_bogomolov, спасибо, хоть ты понял что я пытал...   10.2.2011, 20:04
- - Алексей1153   igor_bogomolov, мы просто напросто в ненужные дебр...   10.2.2011, 20:10
- - kwisp   по-моему вы ребята уже предвзято к друг другу отно...   11.2.2011, 10:58
- - Алексей1153   Цитата(kwisp @ 11.2.2011, 12:58) по-моему...   11.2.2011, 11:22
- - Litkevich Yuriy   Резюме: Если класс наследник другого, то заголовоч...   12.2.2011, 12:47


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


8 чел. читают эту тему (гостей: 8, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.11.2024, 0:59