Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bgm123
39 / 39 / 16
Регистрация: 29.01.2013
Сообщений: 277
#1

Почему конструктор не должен иметь возвращаемое значение? - C++

13.02.2013, 17:21. Просмотров 471. Ответов 7
Метки нет (Все метки)

Почему конструктор не должен иметь возвращаемое значение? Мне кажется это было бы полезным.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1921 / 1530 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
13.02.2013, 17:33     Почему конструктор не должен иметь возвращаемое значение? #2
Цитата Сообщение от bgm123 Посмотреть сообщение
Мне кажется это было бы полезным.
Например?
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12520 / 7082 / 797
Регистрация: 27.09.2012
Сообщений: 17,489
Записей в блоге: 2
Завершенные тесты: 1
13.02.2013, 17:38     Почему конструктор не должен иметь возвращаемое значение? #3
Цитата Сообщение от bgm123 Посмотреть сообщение
Почему конструктор не должен иметь возвращаемое значение?
Потому что сказано:
No return type (not even void) shall be specified for a constructor. A return statement in the body of a constructor shall not specify a return value. The address of a constructor shall not be taken.
Цитата Сообщение от bgm123 Посмотреть сообщение
Мне кажется это было бы полезным.
и чем же?
bgm123
39 / 39 / 16
Регистрация: 29.01.2013
Сообщений: 277
13.02.2013, 17:45  [ТС]     Почему конструктор не должен иметь возвращаемое значение? #4
Цитата Сообщение от Croessmah Посмотреть сообщение
и чем же?
ну например при попытке неверной инициализации можно было бы возвращать какое-то значение, сигнализирующее об этом факте.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12520 / 7082 / 797
Регистрация: 27.09.2012
Сообщений: 17,489
Записей в блоге: 2
Завершенные тесты: 1
13.02.2013, 17:51     Почему конструктор не должен иметь возвращаемое значение? #5
Цитата Сообщение от bgm123 Посмотреть сообщение
ну например при попытке неверной инициализации
Класс должен быть спроектирован так, чтобы не допускать этого, а иначе смысл вообще писать класс?
HighPredator
 Аватар для HighPredator
5413 / 1796 / 327
Регистрация: 10.12.2010
Сообщений: 5,297
Записей в блоге: 3
13.02.2013, 17:59     Почему конструктор не должен иметь возвращаемое значение? #6
Цитата Сообщение от Croessmah Посмотреть сообщение
Класс должен быть спроектирован так, чтобы не допускать этого
А для всего остального есть MasterCard, тьфу, исключения
Croessmah
13.02.2013, 18:01
  #7

Не по теме:

Цитата Сообщение от HighPredator Посмотреть сообщение
А для всего остального есть MasterCard, тьфу, исключения
Если в конструкторе не перехватить исключения, то объект будет не достроен.
Деструкторы вызываются только для достроенных объектов.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2013, 18:07     Почему конструктор не должен иметь возвращаемое значение?
Еще ссылки по теме:

C++ Классы. Возвращаемое значение
Реакция на возвращаемое значение C++
C++ Возвращаемое значение метода
C++ Возвращаемое значение функции
C++ Почему при перегрузке оператора присваивания, возвращаемое значение не константно?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Jupiter
13.02.2013, 18:07     Почему конструктор не должен иметь возвращаемое значение?
  #8

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Если в конструкторе не перехватить исключения, то объект будет не достроен.
Деструкторы вызываются только для достроенных объектов.
RAII

Yandex
Объявления
13.02.2013, 18:07     Почему конструктор не должен иметь возвращаемое значение?
Ответ Создать тему
Опции темы

Текущее время: 23:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru