![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Вывод:
http://liveworkspace.org/code/38540c339d87...e650f417a045e0a Какой конструктор вызывается во втором случае (A a2();)? Это сообщение отредактировал(а) Alca - 14.3.2011, 13:17 |
||||
|
|||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
А никакой. Вообще ничего не вызывается, это воспринимается компилятором как объявление функции (с именем a2, которая принимает пустой список аргументов, а возвращает A).
-------------------- ... |
|||
|
||||
| Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 3 Всего: 32 |
Конструкторы вызываются в полном соответствии параметру. Во втором случае у тебя конструктор без параметра, как и в первом. Что по поводу конструктора с параметром A& и const A& - смотри именно на то, что передаёшь, если это не константа - A&, иначе - const A&.
Добавлено через 57 секунд Странно, что онлайн компиллер проглотил твой вызов второго конструктора, он не праильный -------------------- ![]() |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Cheloveck, все здесь правильно (видимый результат), есть такая засада в С++: то, что может трактоваться как объявление функции, именно так и трактуется.
Не помню уже, почему так сделано, но помню, что папа Страуструп что-то на эту тему объяснял в своей книге. Поэтому нужно приучиться вызывать конструкторы по-умолчанию без скобок. -------------------- ... |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Earnest, спасибо.
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
скорее для того, чтоб можно было объявить функцию.. в противном случае эта конструкция будет перекрыта.. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |