Dr. Dobb's Journal June 1998
(a)
class IAddress : public IStandardNotifier {
public:
virtual IString
street () const;
virtual IAddress
&setStreet (const IString& aStreet);
static INotificationId const
streetId;
private:
IString iStreet;
} ;
(b)
const INotificationId IAddress::streetId = "IAddress::street";
IString IAddress::street () const {
return iStreet;
}
IAddress& IAddress::setStreet (const IString& aStreet) {
if (iStreet != aStreet) {
iStreet = aStreet;
IString eventData(iStreet);
notifyObservers(INotificationEvent(streetId, *this,
true, (void*)&eventData));
} /* endif */
return *this;
}