Re: Проблема доступа к членам класса из вложенного
От: Bell Россия  
Дата: 09.12.04 17:03
Оценка:
Здравствуйте, adr, Вы писали:

adr>Необходимо унифицированное решение для вызова метода Trace для экземпляра произвольного класса.

adr>Для решения такого класса задач разработан патерн "Анонимный адаптер". Эта концепция отлично работает в Java, Технически анонимный адаптер это вложенный класс, для методов которого все члены внешнего оказываются в глобальной области видимости. Попробовал реализовать конструкцию на С++ и получил ошибку

adr>c:\mine\ServerLib\traceSound.cpp(67): error C2352: 'server_lib::TTraceSound::Play' : illegal call of non-static member function


adr>Компилятор Microsoft VC7


В С++ вложенный класс не имеет доступа к членам объемлющего класса.

adr>И какой же тогда смысл в объявлении классов как вложенных впринципе, если нет доступа к мемберам внешнего?


Ну, применение вложенных классов совсем не ограничивается доступом к членам объемлющего.

Воспользуйся поиском (когда он заработает) — этот вопрос обсуждался несколько раз.
Любите книгу — источник знаний (с) М.Горький
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.