//抽象类-观察者
class Observer{
virtual void update();
}
//具体观察者
class Dog :Observer{
void update(){
count << "WanWan..." << endl;
}
}
//目标类-主题
class Subject{
private:
vector<Observer> oVector = new Vector<>();
void add(Observer &server){
oVector.add(server);
}
bool remove(Observer &server){
return oVector.delete(server);
}
//通知所有观察者
void notityObserver(){
for(Observer observer : oVector) {
observer.update();
}
}
//目标对象
class Host:Subject{
void breakdown(){
cout << "The house was damaged." << endl;
notityObserver();
}
}
int main(int argc, char const *argv[])
{
Host host = new Host;
Dog dog1 = new Dog;
Dog dog2 = new Dog;
host.add(dog1);
host.add(dog2);
host.breakdown();
return 0;
}
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行