//Observer pattern void pseudoMain2(){ Subject subject; SpecificObserver observer1("Andrey"); SpecificObserver observer2("Clara"); subject.registerObserver(&observer1); subject.registerObserver(&observer2); subject.notifyObservers(); }
StockObserver(Subject *stockGrabber) { this->stockGrabber = stockGrabber; this->observerID = ++observerIDTracker; cout << "New Observer: " << this->observerID << endl; stockGrabber->registerObserver(this); }
static void connect_method(Subject& subject, Foo& foo) { foo.reg = subject.registerObserver( std::bind(&Foo::handler, &foo, std::placeholders::_1) ); }
explicit CurrentConditionsDisplay(Subject* weatherData) : _weatherData(weatherData), _temperature(0.0), _humidity(0.0) { assert(weatherData); _weatherData->registerObserver(this); }
public: HeatIndexDisplay(Subject* weatherData) : heatIndex(0) { this->weatherData = weatherData; weatherData->registerObserver(this); }