внутреннего класса: class Inne

Автор admin Воскресенье, 21 июня 2009 11:32

внутреннего класса: class Inner2: Наблюдатель 517 friend class Outer::Inner2; class Inner2 : public Bingable { Outer* parent: public: Inner2(0uter* p) : parent(p) {} void bingO { cout « “bing called for ” « parent->name « endl: } } inner2: public: Outer(const strings nm) : name(nm). innerl(this). inner2(this) {} // Возвращение ссылки на интерфейсы. // реализованные внутренними классами: operator PoingableSO { return innerl; } operator BingableSO { return inner2: } }: int mainO { Outer xC’Ping Pong”): // Выглядит как повышающее преобразование // к разным базовым типам! callPoing(x); callBing(x): } III:- Этот пример (предназначенный для демонстрации простейшего синтаксиса идиомы; пример реального использования будет приведен далее) начинается с интерфейсов Poingable и Bingable, каждый из которых содержит всего одну функцию. Обслуживание, предоставляемое функциями callPoing() и callBing(), требует, чтобы получаемый ими объект реализовывал соответственно интерфейсы Poingable и Bingable, но для достижения максимальной гибкости другие требования к объекту не предъявляются. Обратите внимание на отсутствие вир


Комментарии закрыты.