![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Гость_beginer |
|
|||
|
Unregistered |
Всем привет! В книжке Д.Либерти по С++ есть такой код
А в комментарии говорится , что каждому объекту массива присваивается значение, тогда как мне показалось , что значение получает метод объекта , а не сам объект. Может я что-нибудь не понимаю? Поясните плз. |
|||
|
||||
| BreakPointMAN |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 14 Всего: 24 |
Исходник ты, конечно, перепечатал весьма криво, ну да Бог с ним.
Главное вот в чем. Если ты пишешь так:
то ты объявляешь массив a из 500 элементов, каждый из которых является объектом класса CAT. Так, конечно, можно писать, но - судя по коду - там должно быть нечто другое:
Если мы напишем так, то мы объявим массив a из 500 указателей на объекты класса CAT. В таком случае все, что идет ниже по коду - вполне логично.
Это сообщение отредактировал(а) BreakPointMAN - 8.11.2005, 00:36 -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
||||||
|
|||||||
| Гость_beginer |
|
|||
|
Unregistered |
Блин , забыл * поставить CAT* a[500];
Но дело тут не в этом. // далее установим с помощью метода setage значение поля itsage данного объекта p->setage(i*2+1); Вот и я о том же , значение присваивается полю itsage , а не самому объекту , а в книге написано ,что значение присваивается каждому элементу массива. Так какого всё-таки будет после этого значение к примеру a[1] ? |
|||
|
||||
| BreakPointMAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 14 Всего: 24 |
Каждому элементу массива a присваивается значение - и этим значением является адрес объекта класса CAT, динамически созданного на очередной итерации. Значением a[1] будет адрес объекта класса CAT, созданного на второй итерации, а значением поля itsage этого объекта будет 3. -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
"Таким образом первому объекту класса Cat присваивается значение 1 , второму 3 и т.д.В этом же цикле каждому элементу массива присваивается указатель на вновь созданный объект "
Надо было сразу напечатать. Видимо тут имелось ввиду полю объекта |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |