Заблокирован
|
|
1 | |
Еще раз о конструкторе по умолчанию31.12.2011, 12:45. Показов 1828. Ответов 18
Метки нет (Все метки)
Какой конструктор считается конструкторомм по умолчанию, которому НЕ ПЕРЕДАЮТСЯ НИКАКИЕ АРГУМЕНТЫ, или же и тот конструктор, КОТОРОМУ ЯВНО МОГУТ НЕ передаваться никакие аргументы также может считаться конструктором по умолчанию?
0
|
31.12.2011, 12:45 | |
Ответы с готовыми решениями:
18
Можно ли записывать объект в вектор, еще в конструкторе? Инициализация полей структуры в конструкторе по-умолчанию класса Почему нельзя в конструкторе использовать параметр по умолчанию, если конструктор не встроен? Еще раз об операции new |
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
31.12.2011, 12:50 | 2 |
0
|
Заблокирован
|
|||||||||||
31.12.2011, 13:14 [ТС] | 3 | ||||||||||
Не совсем понятно. Попробую конкретизировать:
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
31.12.2011, 13:20 | 4 |
1
|
2021 / 1620 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
|
|
31.12.2011, 13:26 | 5 |
1
|
Заблокирован
|
|
31.12.2011, 14:04 | 6 |
1
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
31.12.2011, 14:06 | 7 |
те когда я буду вызывать конструктор с параметрами Time(1) он будет конструктором не по умолчанию, а когда Time() - по-умолчанию?
0
|
Заблокирован
|
||||||
31.12.2011, 14:26 | 8 | |||||
в стандарте чётко написано, что если некоторый конструктор можно вызвать без параметра, то он является конструтором по умолчанию. Там нигде не говорится, что если такой конструктор был вызван с параметрами, то он лишается статуса "конструктора по умолчанию", так что если ктото скажет что тут вызывается конструктор по умолчанию:
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
31.12.2011, 14:28 | 9 |
LosAngeles, так один и тот же метод может быть default и non-default в зависимости от параметров? это вообщем-то нонсенс
0
|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
|
31.12.2011, 14:29 | 10 |
Дык параметры конструктора по умолчанию,т.е. при вызове параметры могут default или non-default. Нонсес? Думаю, нет. Так почему конструктор не может быть default и non-default как параметры?
0
|
Заблокирован
|
|
31.12.2011, 14:33 [ТС] | 11 |
Далее в учебнике нашел следующее:
Конструктор, предусматривающий значения по умолчанию для всех своих аргументов, является одновременно конструктором по умолчанию, т.е. конструктором, который может активироваться без аргументов. В классе может быть не более одного конструктора по умолчанию. Таким образом, я пока понимаю, что конструктором по умоланию являяетя такой контруктор, который может вызываться без аргументов. При этом, совершенно не факт, что какие-то аргументы все же этому контруктору могут передаваться.
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
31.12.2011, 14:34 | 12 |
Chelioss, ну тут смысловой коллапс - получается тип конструктора определяется не тем как он определен, а тем как его вызывают
судя по всему такой конструктор называется default constructor with n default argument хотя это я на http://publib.boulder.ibm.com/... plr376.htm взял
0
|
Заблокирован
|
|
31.12.2011, 14:44 | 13 |
дефолтность конструктора не определяется тем как его вызывают, а тем фактом что его можно вызвать без аргументов
0
|
3224 / 1751 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
31.12.2011, 14:53 | 14 |
Стандартом допускается еще и третья форма конструктора по умолчанию - с многоточием в качестве единственного параметра.
1
|
Заблокирован
|
||||||
31.12.2011, 15:14 [ТС] | 15 | |||||
Мне вообще кажется, что если Myclass - это некоторый класс, то тогда конструктором по умолчанию будет такой конструктор, который вызывается при объявлении
Вроде правильно понимаю. Поправьте, если ошибаюсь.
0
|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
|||||||||||
31.12.2011, 15:18 | 16 | ||||||||||
У меня появился вопрос:
Недавно тему создавали и там была видна разница. Что-то говорили про то, что второй вариант для компилятора кажется как функция, но все равно не понятно. Чем они отличаются?
0
|
3224 / 1751 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
31.12.2011, 15:29 | 17 |
Вы ошибаетесь только в том, что не заглядываете в стандарт или в учебники. Там ровно это и сказано.
Вообще, забавляют дискуссии, где одни пишут в сообщениях по теме то, что вычитали в учебниках, а другие себя этим не утруждают, и смело пишут что на ум взбредет.
0
|
31.12.2011, 16:25 | 18 | |||||||||||||||
Chelioss,
0
|
31.12.2011, 16:41 | 19 | ||||||||||
Это даже близко не одно и то же.
1 - создание объекта класса MyClass 2 - прототип ф-ции без аргументов, которая возвращает объект типа MyClass Добавлено через 4 минуты Забудем про то, что есть какие то классы, будем говорить "тип данных". Непоспоришь, что int - это тип данных. Так вот 2 записи:
1
|
31.12.2011, 16:41 | |
31.12.2011, 16:41 | |
Помогаю со студенческими работами здесь
19
Ханойская башня еще раз Еще раз однонаправленные списки Еще раз о vector и очистке памяти Подскажите еще раз пожалуйста, почему во 2 столбце не выводит слова? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |