这个只放指针的迭代器怎么用?class Observer{public:virtual void update(float temp,float humidity,floa
这个只放指针的迭代器怎么用?
class Observer
{
public:
virtual void update(float temp,float humidity,float pressure)=0;
};
class WeatherData:public Subject
{
private:
list<Observer*>observers;
public:
void notifyObservers()
{
for(list<Observer*>::iterator i = observers.begin();i!=observers.end();++i)
{
//我要用迭代器i调用Observer中的update方法怎么调用?
//我这样:i->update(3,3,3);不行 *i->update(3,3,3);也不行。。
}
}
};
[解决办法]
(*i)->update(........)
你update函数重写了没有啊
需要重写update函数,由于基类该函数纯虚,否则无法实例化
