Russian Qt Forum
Ноябрь 29, 2024, 01:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: конструктор с параметрами  (Прочитано 11131 раз)
Chester
Гость
« : Март 18, 2010, 16:44 »

доброго времени суток!!!
Хотелось бы у вас совета спросить...вот если я создаю в классе конструктор с параметрами... нужно ли мне создавать конструктор по умолчанию (без параметров), если не собираюсь таковой использовать Подмигивающий)
Кому не трудно,тветьте пожалуйста.. заранее спасибо!!
Записан
hackoff
Гость
« Ответ #1 : Март 18, 2010, 16:47 »

не нужно
Записан
alexman
Гость
« Ответ #2 : Март 18, 2010, 16:50 »

Если только для того, чтобы проинициализировать поля класса...
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Март 18, 2010, 16:51 »

Иногда бывает нужно, напр. если такие объекты помещаются в vector
Записан
niXman
Гость
« Ответ #4 : Март 18, 2010, 16:53 »

пустой конструктор написать не сложно.
пусть он не используется, но и не помешает.
Записан
alexman
Гость
« Ответ #5 : Март 18, 2010, 16:55 »

Даже ради читабельности кода он не помешает!
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Март 18, 2010, 16:58 »

>>Иногда бывает нужно, напр. если такие объекты помещаются в vector
конструктор по умолчанию компилятор сам создаст, для контейнеров важно, чтобы он был в public-области, а не private, как у QWidget'ов
Записан

Юра.
f-r-o-s-t
Гость
« Ответ #7 : Март 18, 2010, 17:19 »

>>Иногда бывает нужно, напр. если такие объекты помещаются в vector
конструктор по умолчанию компилятор сам создаст, для контейнеров важно, чтобы он был в public-области, а не private, как у QWidget'ов

Если есть конструктор с параметрами, то не создаст.
Действительно если есть такая необходимость то нужно создать, как в примере с контейнерами.
Записан
Amigo_sa
Гость
« Ответ #8 : Март 18, 2010, 17:29 »

>>Иногда бывает нужно, напр. если такие объекты помещаются в vector
конструктор по умолчанию компилятор сам создаст, для контейнеров важно, чтобы он был в public-области, а не private, как у QWidget'ов
Так же в созданных по умолчанию конструкторах все указатели, если таковые используются, будут не проинициализированы, поэтому в этом случае его нужно написать руками.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #9 : Март 18, 2010, 17:41 »

>>Если есть конструктор с параметрами, то не создаст.
Хм, не знал. Видимо ещё не нарвался на связанную с этим ошибку компилятора.
Записан

Юра.
Chester
Гость
« Ответ #10 : Март 18, 2010, 18:27 »

Спасибо всем за ответы!!!

>>Иногда бывает нужно, напр. если такие объекты помещаются в vector
конструктор по умолчанию компилятор сам создаст, для контейнеров важно, чтобы он был в public-области, а не private, как у QWidget'ов

Если есть конструктор с параметрами, то не создаст.
Действительно если есть такая необходимость то нужно создать, как в примере с контейнерами.


Вот поэтому и спрашиваю  Улыбающийся... я работаю с БД, и есть формочка,которая отображает некую таблицу из БД, связанную с главной табличкой по ID. И в конструкторе передается этот ID,для отображения данных по конкретному объекту. Просто без этого параметра формочка теряет всякий смысл... Если только она будет просто рисоваться без всяких данных.
Просто боюсь,что без конструктора по умолчанию может не корректно работатать будет класс...
Записан
BRE
Гость
« Ответ #11 : Март 18, 2010, 18:34 »

Вот поэтому и спрашиваю  Улыбающийся... я работаю с БД, и есть формочка,которая отображает некую таблицу из БД, связанную с главной табличкой по ID. И в конструкторе передается этот ID,для отображения данных по конкретному объекту. Просто без этого параметра формочка теряет всякий смысл... Если только она будет просто рисоваться без всяких данных.
Просто боюсь,что без конструктора по умолчанию может не корректно работатать будет класс...
Все будет корректно, не бойся.  Улыбающийся
Не нужен пустой конструктор, а точнее не возможен (как в твоем случае) - не пиши. Это лучше, чем придумывать костыли, только ради того, что бы написать конструктор по умолчанию.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.226 секунд. Запросов: 22.