Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2016, 19:21   #1
Мой повелитель
Пользователь
 
Аватар для Мой повелитель
 
Регистрация: 04.01.2016
Сообщений: 93
По умолчанию Зачем нужен конструктор?

Что имеется в виду под "начальной инициализации элементов данных" и зачем он если элементы данных инициализирует set-функция.
Мой повелитель вне форума Ответить с цитированием
Старый 20.04.2016, 19:23   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

set устанавливает новое значение.
конструктор именно инициализирует объект, поля инициализирует корректными значениями.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.04.2016, 19:32   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Например чтобы не писать так?
Код:
MyClass obj;
obj.setA(1);
obj.setB("2");
obj.setC(3);
+ не иметь возможности забыть сделать это?


И не всегда надо разрешать менять свойства во время жизни объекта.
immutable объекты рулят же
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.04.2016, 19:43   #4
Мой повелитель
Пользователь
 
Аватар для Мой повелитель
 
Регистрация: 04.01.2016
Сообщений: 93
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
set устанавливает новое значение.
конструктор именно инициализирует объект, поля инициализирует корректными значениями.
А разве не элементы данных инициализирует?
Мой повелитель вне форума Ответить с цитированием
Старый 20.04.2016, 19:44   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
элементы данных
Что это?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.04.2016, 19:48   #6
Мой повелитель
Пользователь
 
Аватар для Мой повелитель
 
Регистрация: 04.01.2016
Сообщений: 93
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Что это?
http://cppstudio.com/post/439/
Я тут про это читал.
Мой повелитель вне форума Ответить с цитированием
Старый 20.04.2016, 20:05   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это и есть поля.

только назвали неверно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.04.2016, 20:10   #8
Мой повелитель
Пользователь
 
Аватар для Мой повелитель
 
Регистрация: 04.01.2016
Сообщений: 93
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
это и есть поля.

только назвали неверно.
А почему неверно?Я не уверен что они называются просто "полями".

Последний раз редактировалось Мой повелитель; 20.04.2016 в 20:17.
Мой повелитель вне форума Ответить с цитированием
Старый 20.04.2016, 20:23   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это два разных варианта перевода слова field.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.04.2016, 10:29   #10
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
это два разных варианта перевода слова field.
Ну вообще, оно в C++ называется data member

Мой повелитель, вам задание.
Инициализируйте данный члены ссылку и константу
без конструктора, с помощью set-функций
Croessmah вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зачем второй раз вызывается конструктор для создания объекта с тем же именем? Студ Общие вопросы C/C++ 10 25.03.2014 14:13
Зачем нужен Chr(34)??? RISagitov Microsoft Office Excel 1 07.08.2012 20:43
Зачем нужен копирующий конструктор? Rekky Общие вопросы C/C++ 3 25.08.2011 13:03
.NET, зачем он нужен? Qousio Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 80 18.12.2009 23:42
Зачем нужен void? Сергей089 Общие вопросы C/C++ 7 23.03.2009 17:08