Класс, который имеет доступ к переменным другого класса
От:
Аноним
Дата:
28.11.05 14:00
Оценка:
Господа, подскажите не местным.
Есть класс (скажем Base) у которого куча методов — реализует соответствующий интерфейс IBase.
Хочется реализацию некоторых методов вынести в отдельные классы, которые однако имеют доступ к членам класса Base.
Как это лучше сделать? Если можно с кусочком кода.
Заранее спасибо!
Re: Класс, который имеет доступ к переменным другого класса
А>Господа, подскажите не местным.
А>Есть класс (скажем Base) у которого куча методов — реализует соответствующий интерфейс IBase. А>Хочется реализацию некоторых методов вынести в отдельные классы, которые однако имеют доступ к членам класса Base. А>Как это лучше сделать? Если можно с кусочком кода.
А>Заранее спасибо!
[ccode]friend[ccode]. И код по-моему незачем.
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[2]: Класс, который имеет доступ к переменным другого клас
Здравствуйте, ekamaloff, Вы писали:
E>Здравствуйте, Аноним, Вы писали:
А>>Господа, подскажите не местным.
А>>Есть класс (скажем Base) у которого куча методов — реализует соответствующий интерфейс IBase. А>>Хочется реализацию некоторых методов вынести в отдельные классы, которые однако имеют доступ к членам класса Base. А>>Как это лучше сделать? Если можно с кусочком кода.
А>>Заранее спасибо!
То бишь
friend
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re: Класс, который имеет доступ к переменным другого класса
А>Господа, подскажите не местным.
А>Есть класс (скажем Base) у которого куча методов — реализует соответствующий интерфейс IBase. А>Хочется реализацию некоторых методов вынести в отдельные классы, которые однако имеют доступ к членам класса Base. А>Как это лучше сделать? Если можно с кусочком кода.
А>Заранее спасибо!
Принцип тот же, что и при определении операторов для класса.
Если твои функции должны иметь доступ к непубличным членам класса Base, делай их друзьями.
Если в итоге друзей получится много, придется немного отрефакторить твой класс Base, например, вынеся доступ к членам-данным в accessors.