![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
cymtu |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 24.4.2009 Репутация: нет Всего: нет |
Есть класс В, который реализует обычный список элементами которого являються объекта класса А
все переменные класса А закрыты и должны быть закрыты(private), открыты только методы. Среди переменных класса В есть указатель *pА на класс А, которые посредством методов Beg() End() Next() Prev() перемещается по списку. А с помощью методов типа Get_..../Set_.... осуществляется доступ к переменным того элемента, на который указывает *рА. В свою очередь класс В также является элементом для класс С, который реализует список из этих элементов. Все переменные класса С закрыты и должны быть закрыты(private), открыты только методы. Среди переменных класса C есть указатель *pВ на класс В, которые посредством методов Beg() End() Next() Prev() перемещается по списку. А с помощью методов типа Get_..../Set_.... осуществляется доступ к переменным того элемента, на который указывает *рВ. Вопрос: Как реализовать механизм доступа разработчику, который будет использовать класс C, к методам класса B]B[/B] элемента на который указывает указатель *рВ, но не переменным. Я понимаю что можно сделать указатель *pB класса C открытым и тогда проблема отпадет, но указатель по условию должен быть private, к нему не должно быть прямого доступа у разработчика. Читал что-то про указатели на методы класса, но примеров не было. так и не понял. ПОМОГИТЕ РЕШИТЬ ПРОБЛЕМУ!!! ![]() |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
не понял что это означает? нужен константный доступ? возвращайте константную ссылку/указатель насчет указателей на функции члены вот пример
правда не знаю как это может помочь в данном случае |
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 11 Всего: 36 |
Читать про паттерны "Aggregation", "Wrapper", "Proxy", "Facade" - возможно что-то удастся применить.
|
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Rififi
Да, я тоже хотел Прокси предложить, похоже на то что это может помочь, но я пока суть проблемы полностью не осмыслил. |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
|
|||
|
||||
cymtu |
|
||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 24.4.2009 Репутация: нет Всего: нет |
Да неплохо пойдет пока ![]() Но ещё покапаюсь в
|
||||
|
|||||
cymtu |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 24.4.2009 Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |