30 lines
385 B
C++
30 lines
385 B
C++
|
#include "Subject.h"
|
||
|
#include "Observer.h"
|
||
|
|
||
|
Subject::Subject()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
Subject::~Subject()
|
||
|
{
|
||
|
if (!mp_Observers.empty())
|
||
|
mp_Observers.clear();
|
||
|
}
|
||
|
|
||
|
void Subject::addObserver(Observer* obs)
|
||
|
{
|
||
|
mp_Observers.push_back(obs);
|
||
|
}
|
||
|
|
||
|
void Subject::delObserver(Observer* obs)
|
||
|
{
|
||
|
mp_Observers.remove(obs);
|
||
|
}
|
||
|
|
||
|
void Subject::notify(Subject* sub)
|
||
|
{
|
||
|
for (auto i : mp_Observers)
|
||
|
{
|
||
|
i->update(sub);
|
||
|
}
|
||
|
}
|