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;


и т.д.

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


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

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




Репутация:   7  


Цитата(Алексей1153 @ 10.2.2011, 12:33) *
Цитата(Rocky @ 10.2.2011, 13:28) *
хидер включать необходимо

да, но включать его надо уже только в файл реализации

Алексей1153, ты вырываешь слова из контекста. Если есть класс В, который наследуется от класса А, то хидер класса А обязательно нужно включать в хидере класса В. То что пишешь ты - да. Но если ты будешь наследоваться от QMyLineEditWrapper - тебе опять-таки нужно будет включение хидера с этой структурой. От этого никуда не уйти. А как я понял твою задумку, то что ты сделал - это ответ на вопрос

Цитата(Алексей1153 @ 10.2.2011, 12:33) *
Цитата('я')
Наследование можно опять-таки заменить через указатель (практически всегда).


оу, расскажи, как ?.

из которого следует, что да, в этом случае достаточно будет предварительного объявления. Но это не обход
Цитата
Если есть класс В, который наследуется от класса А, то хидер класса А обязательно нужно включать в хидере класса В

это обход наследования.

А в случае, если тебе нужно делать override функций базовых классов (virtual), то тут да, нужно наследоваться. Просто есть люди, которые где надо и не надо лепят наследование, думая, что без него никак. Вообще по этому вопросу советую оч хорошую книжку...То-ли Александреску, то-ли Саттера... Щас не вспомню, нужно дома посмотреть. Там вобщем рассказно оч подробно как делать всякие интересные штуки.

Хотя, вероятно я придираюсь к словам :) Фсё, больше не буду))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- 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


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


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




RSS Текстовая версия Сейчас: 29.4.2024, 18:31