otifier: friend class Flower::
Автор admin Понедельник, 22 июня 2009 11:32
otifier: friend class Flower::CloseNotifier; class CloseNotifier : public Observable { Flower* parent: bool alreadyClosed: public: CloseNotifier(Flower* f) : parent(f). alreadyClosed(false) {} void notifyObservers(Argument* arg = 0) { if(!parent->isOpen && !alreadyClosed) { setChangedO; Observable::notifyObservers(): alreadyClosed = true: } } void openО { alreadyClosed = false: } } CloseNotifier: } setChangedO: Observabl e::noti fyObservers(); alreadyOpen = true: 520 Глава 10 • Паттерны проектирования string name: class OpenObserver; friend class Hummingbird::OpenObserver: class OpenObserver : public Observer { Hummingbird* parent: public: OpenObserver(Hummingbird* h) : parent(h) {} void update(Observable*. Argument *) { cout « “Hummingbird ” « parent->name « ‘”s breakfast time!” « endl: } } openObsrv; class CloseObserver; friend class Hummingbird::CloseObserver: class CloseObserver : public Observer { Hummingbird* parent: public: CloseObserver(Hummingbird* h) : parent(h) {} void update(Observable*. Argument *) { cout « “Hummingbird ” « parent->name « “’s bed time!” « endl: } } closeObsrv: public: Hum
Комментарии закрыты.
Последние комментарии