![]() |
|
Модераторы: bsa |
![]()
|
|
| limelight |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 19.10.2009 Репутация: нет Всего: нет |
Если написан класс ,и в нем явно не написан конструктор, то при создании класса вызывается конструктор по умолчанию. с этим ясно. если я написал класс и хочу чтобы при создании класса полям класса присваивались некоторые значения,я перегружаю конструктор. но если скомпилировать будет ошибка, т.к. возникает потребность в указаниии именно пустого! конструктора. это особенность С++ , т.е. я правильно понял? т.е. если я хочу сделать вот так(перегруженный конструктор):
то чтобы все работало, необходимо все таки писать вот так:
а просто
|
||||||
|
|||||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Да. Можно еще так:
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| susanin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 587 Регистрация: 7.10.2006 Где: Санкт-Петербург Репутация: 2 Всего: 7 |
||||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
limelight
Да. Конструктор, который может быть вызван без передачи аргументов называется конструктором по умолчанию, он генерируется компилятором в том случае, если пользователем не написан любой другой конструктор. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
"вызывается" это другое не перегружаете, так как встроенный в этом случае не добавится.. ну можно добавить параметры по умолчанию у конструктора, тогда будет то поведение , о котором спрашиваете.. P.S. оказывается опоздал Это сообщение отредактировал(а) mes - 27.5.2010, 16:14 |
|||
|
||||
| limelight |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 19.10.2009 Репутация: нет Всего: нет |
mes,
какое? если рассматривать конструктор как функцию, то перегружаю.разве нет?(перегружаю тот, который по умолчанию, который добавляется если нет иных) хотя, возможно, это и не называется перегрузкой, я просто пишу свой, как бы отказываюсь от "по умолчанию" предложенных но в таком случае "обязанность" написать пустой конструктор ложится на мои плечи.так?) (извините что спрашиваю по 10 раз, надо хорошо это понять
как? |
|||
|
||||
| mes |
|
||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
может имелось ввиду "при создании объекта класса" ? тогда "вызывается" , но не обязательно конструктор по умолчанию.
нет.. замещаете.
зависит от целей. так : |
||||||
|
|||||||
| limelight |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 19.10.2009 Репутация: нет Всего: нет |
Cпасибо ВСЕМ. Вроде разобрался) |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |