|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.05.2011, 10:07 | #1 |
Новичок
Джуниор
Регистрация: 06.05.2011
Сообщений: 3
|
Как правильно использовать класс в классе
Всем привет.
Не могу понять, как правильно реализовать использование объекта одного класса в другом классе. Код:
|
06.05.2011, 11:14 | #2 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Вы не сможете к нему обратиться, т.к. переменная primer1 a объявлена с модификатором доступа private.
Можно сделать так: Код:
А, извиняюсь, не дочитал вопрос. Выбор из ваших трех вариантов зависит от конкретной задачи, от того, какие сущности представляют классы и вообще от общей структуры проекта. Так, в общем виде, трудно сказать. Но вообще, если вы помещаете объект в закрытый доступ, то и работать с ним должен только тот класс, в котором он объявлен, иначе он должен быть в открытом доступе
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Последний раз редактировалось Blade; 06.05.2011 в 11:25. |
06.05.2011, 12:57 | #3 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
либо писать примерно так
Код:
тогда можно уже сделать так: b.set(10); |
06.05.2011, 17:38 | #4 |
Новичок
Джуниор
Регистрация: 06.05.2011
Сообщений: 3
|
Приведу более конкретный пример, чтобы понять, что мне нужно.
Код:
|
06.05.2011, 19:16 | #5 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
лучше бы в класс человек добавить поле имя( как уникальный id) - по нему можно удалять будет из вектора по имени (или изменять данные).. а пока пример по весу:
Код:
upd: вот тут ты юзаешь просто удаление по индексу "от балды" Код:
и еще ; в конце каждой определенной функции - лишнее Последний раз редактировалось onewho; 06.05.2011 в 19:21. |
06.05.2011, 20:45 | #6 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
milenium, ваш вариант вполне нормальный, я наверно так же сделал бы.
Только объекты весьма желательно передавать по константной ссылке: Код:
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
06.05.2011, 22:30 | #7 |
Новичок
Джуниор
Регистрация: 06.05.2011
Сообщений: 3
|
onewho,Blade спасибо за подсказки в синтаксисе.
onewho вы получается предлагаете делать "дубликаты" методов класса chelovek в классе gruppa. Но тогда выходит, что в классе chelovek 6 методов. Их дублируем в классе gruppa. Мне это кажется нерациональным. Под дублированием я выше имел в виду типа Код:
|
07.05.2011, 10:55 | #8 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
А я опять не дочитал ваш вопрос до конца... лучше не пишите его в комментариях, пишите после кода.
Как получить доступ к изменению свойств класса человек: Код:
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
zlib->inflate как правильно использовать? | Пепел Феникса | Общие вопросы C/C++ | 8 | 18.01.2011 20:26 |
Как правильно использовать MonthCalendar | Shanuzina | Компоненты Delphi | 1 | 04.03.2010 11:58 |
как правильно использовать OR AND | mpdasa | Общие вопросы Delphi | 2 | 19.01.2010 17:30 |
Как правильно использовать ComboBox | Pirotexnik | Общие вопросы Delphi | 6 | 26.03.2009 23:30 |
Как правильно использовать переменные в процедурах | nikolai_P | Microsoft Office Excel | 22 | 15.05.2008 13:15 |