|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.04.2010, 11:52 | #1 |
Форумчанин
Регистрация: 25.02.2009
Сообщений: 113
|
Неявные данные в конструкторе.
Имеется класс точки и класс прямоугольника причем прямоугольник создается по одной точке явной p2 (член класса Rect) и неявной Point. Вот конструктор:
Код:
Код:
Rect a(4,5) //создаем прямоугольник со сторонами 4 и 5 a.p2.move(3,1) //двигаем точку прямоугольника на 3 и 1. Вот тут всё конечно сработает, но насколько я понял мы не имеем права так обращаться? |
12.04.2010, 11:57 | #2 | |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Цитата:
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
|
12.04.2010, 12:01 | #3 |
Форумчанин
Регистрация: 25.02.2009
Сообщений: 113
|
p2 приватный
между классами Rect и Point наследование как public Последний раз редактировалось Stilet; 12.04.2010 в 12:19. |
12.04.2010, 12:36 | #4 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Т.е. Rect - потомок Point ?Насколько я помню, потомки не имеют доступа к приватным членам предков, по крайней мере если вы наследуете как public, хотя могу и ошибаться. Самый простой способ проверить - проверить на практике, если не имеете права обращаться, то вылетит ошибка.
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
12.04.2010, 12:53 | #5 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
потомки не могут обращаться к private полям класса. Только если поля обьявлены как public или protected. Причем поля класса не рекомендуется делать public. Поля должны быть либо private либо protected. В больших проектах советуют использовать вместо private именно protected, так как потом можно будет легко добавить производный класс и не париться переписывать методы родного класса.
Код:
Код:
Код:
Последний раз редактировалось NiCola999; 12.04.2010 в 12:57. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конструктор в конструкторе | Юра_YUYU | Общие вопросы C/C++ | 3 | 30.01.2010 15:32 |
В конструкторе выделяется память под массив. Как быть с перегрузкой оператора = ? | TwiX | Общие вопросы C/C++ | 6 | 15.12.2009 12:18 |
Как задать onClick в конструкторе? | TwiX | Общие вопросы Delphi | 4 | 03.10.2009 20:39 |
Задать разрядность числа в конструкторе | zx11 | Общие вопросы C/C++ | 5 | 19.08.2009 19:01 |
Инициализация массивов в конструкторе. | jojahti | Общие вопросы C/C++ | 7 | 27.07.2009 13:30 |