Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> пример из книги 
V
    Опции темы
yngwie19
Дата 13.6.2009, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 15.6.2008
Где: Новгород

Репутация: нет
Всего: нет



mes, значит при наследовании от QObject мы можем не вызывать конструктор базового класса?
Код

MyClass(QObject *proj = 0) :  m_bReadOnly(false)

PM MAIL   Вверх
mes
Дата 13.6.2009, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(yngwie19 @  13.6.2009,  10:41 Найти цитируемый пост)
значит при наследовании от QObject мы можем не вызывать конструктор базового класса?

да, если так Вам будет удобнее.



--------------------
PM MAIL WWW   Вверх
andrew_121
Дата 13.6.2009, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(mes @  13.6.2009,  13:14 Найти цитируемый пост)
да, если так Вам будет удобнее.

Как так? smile
Не советовал бы! Это плохо в общем. А касательно Qt, очень плохо!


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
yngwie19
Дата 13.6.2009, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 15.6.2008
Где: Новгород

Репутация: нет
Всего: нет



andrew_121, если писать без конструктора так:
Код

MyClass() :  m_bReadOnly(false)

то будет вызван конструктор по-умолчанию а он описан так:
Код

QObject(QObject *parent=0);

Поэтому это будет одно и тоже верно mes?
PM MAIL   Вверх
andrew_121
Дата 13.6.2009, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



yngwie19, Уважаемый, вы наверняка не представляете себе всю обширность и мощь языка С++ как такового, и сложность Qt в частности.
Это было первое.
Второе. Как в это случае указать parent-а, хз*
Третье. Большинству кутешных объектов, нужен parent. Иначе они просто работать не будут.
Четвертое. Если привыкнуть так писать код, однажды споткнетесь, и придется писать как положено.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
mes
Дата 13.6.2009, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(yngwie19 @  13.6.2009,  12:29 Найти цитируемый пост)
Поэтому это будет одно и тоже

Да, инизиализация в данном случаяе одинаково Но я думаю andrew_121, имел ввиду не саму инициализацию, а то что Вы убрали в вашем классе возможность задавать parent`a.
по крайней мере моя фраза 
Цитата(mes @  13.6.2009,  12:14 Найти цитируемый пост)
если так Вам будет удобнее.

относилась именно к этому.
 т.е если Вы уверены, что лишение возможности задавать родителя необходимо или удобно, то пожалуйста.  smile 



--------------------
PM MAIL WWW   Вверх
andrew_121
Дата 13.6.2009, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Дополню. Касательно стандарта.
Так же плохо изучать программирование используя компиляторы от Microsoft, Borland. Так как эти компиляторы приучают к плохому!

Добавлено через 2 минуты и 21 секунду
Цитата(mes @  13.6.2009,  13:14 Найти цитируемый пост)
если так Вам будет удобнее.

Я так понимаю, что yngwie19, только учится кодить. Наверное лучше его не приучать к не стандартному решению?

Добавлено через 5 минут и 9 секунд
Цитата(yngwie19 @  13.6.2009,  13:29 Найти цитируемый пост)
MyClass() :  m_bReadOnly(false)

Касательно машинных типов, для них вобще не нужно вызывать конструктор. Это просто инициализация.

Добавлено через 7 минут и 43 секунды
И еще.
Нужно определиться. Либо говорим о языке С++, и стандарте, либо о C++ и Qt.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
mes
Дата 13.6.2009, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(andrew_121 @  13.6.2009,  12:47 Найти цитируемый пост)
Я так понимаю, что yngwie19, только учится кодить. Наверное лучше его не приучать к не стандартному решению? 

я считаю, что в программировании главное понимание, а не набор заученных фраз. Да сразу все понять нельзя и некоторые детали приходится зазубривать.
Но судя по вопросам(из других тем) yngwie19, он пытается именно понять. 

Цитата(andrew_121 @  13.6.2009,  12:39 Найти цитируемый пост)
Третье. Большинству кутешных объектов, нужен parent.

Ну а тут жизнь сама заставит написать у наследника "прием" родителя. smile


Это сообщение отредактировал(а) mes - 13.6.2009, 13:55


--------------------
PM MAIL WWW   Вверх
yngwie19
Дата 13.6.2009, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 15.6.2008
Где: Новгород

Репутация: нет
Всего: нет



Ну вообщем правильно ли Я понял что при создании объекта класса унаследованного от QObject необходимо в его конструктор передать указатель на родителя? 
PM MAIL   Вверх
mes
Дата 13.6.2009, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(andrew_121 @  13.6.2009,  12:47 Найти цитируемый пост)
Касательно машинных типов, для них вобще не нужно вызывать конструктор. Это просто инициализация.

А кто ему вызывает конструктор ?!  smile 
Эта переменная вообще к разговору отношения не имеет.  smile 


--------------------
PM MAIL WWW   Вверх
andrew_121
Дата 13.6.2009, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(mes @  13.6.2009,  13:55 Найти цитируемый пост)
я считаю, что в программировании главное понимание, а не набор заученных фраз.

Солидарен!
Цитата(mes @  13.6.2009,  13:55 Найти цитируемый пост)
Ну а тут жизнь сама заставит написать у наследника "прием" родителя.

Значит...пусть решает...

Добавлено через 1 минуту и 8 секунд
Цитата(mes @  13.6.2009,  13:59 Найти цитируемый пост)
А кто ему вызывает конструктор ?!  smile 
Эта переменная вообще к разговору отношения не имеет.  smile  

Ну...она в коде....сорри, не то понял(


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
mes
Дата 13.6.2009, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(yngwie19 @  13.6.2009,  12:59 Найти цитируемый пост)
Ну вообщем правильно ли Я понял что при создании объекта класса унаследованного от QObject необходимо в его конструктор передать указатель на родителя?  

Нет. Необходимо передавать в конструктор, только для объектов тех  классов, которые этого требуют.  Для остальных "можно", а не "необходимо" smile

Но пояснение, высказанное andrew_121, относится не к созданию объекта, а к тому что Вы в конструкторе скрыли возможность "передачи" родителя.
Т.е ограничили того, кто будет создавать объект Вашего класса или будет от него наследоваться smile
А ограничения далеко не всегда удобны. 


Это сообщение отредактировал(а) mes - 13.6.2009, 14:42


--------------------
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0563 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.