rvable { Flower* parent: bool

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

rvable { Flower* parent: bool alreadyOpen; publi с: OpenNotifier(Flower* f) : parent(f). alreadyOpen(false) {} void notifyObservers(Argument* arg = 0) { if(parent->isOpen && lalreadyOpen) { Наблюдатель 519 class Bee { string name: // “Внутренний класс” для наблюдения за открытием: class OpenObserver: friend class Bee::OpenObserver: class OpenObserver : public Observer { Bee* parent: public: OpenObserver(Bee* b) : parent(b) {} void update(Observable*. Argument *) { cout « “Bee ” « parent->name « ‘”s breakfast time!” « endl: } } openObsrv: // Другой “внутренний класс” для наблюдения за закрытием: class CloseObserver; friend class Bee::CloseObserver; class CloseObserver : public Observer { Bee* parent; public: CloseObserver(Bee* b) : parent(b) {} void update(Observable*. Argument *) { cout « “Bee ” « parent->name « “’s bed time!” « endl; } } closeObsrv; public: Bee(string nm) : name(nm). openObsrv(this), closeObsrv(this) {} Observers openObserverO { return openObsrv; } Observers CloseObserverО { return closeObsrv;} }: class Hummingbird { } void closet) { alreadyOpen = false: } } openNotifier; class CloseN


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