List中的元素处理

redoffice redoffice 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

class StockObserver
{
char *PersonName;
int PersonAge;
public:
void SetName(char *pName);
char* GetName();
void SetAge(int i_age);
int GetAge();
void Update();
~StockObserver();
};
StockObserver::~StockObserver()
{
delete [] PersonName;
}
void StockObserver::Update()
{
cout<<this->GetName()<<"..."<<"关闭股票行情,继续工作!"<<endl;
}
//--------------------------------------------------------------//
class SecretaryObserver
{
list<StockObserver*> observers;
string S_action;
public:
void AttachObserver(StockObserver* observer);
void NodifyObserver();
void SetAction(string s_string);
string GetAction();
};
void SecretaryObserver::AttachObserver(StockObserver* observer)
{
observers.push_back(observer);
}
void SecretaryObserver::NodifyObserver()
{
list<StockObserver*>::iterator observers_i;
for (observers_i = observers.begin();observers_i != observers.end(); ++observers_i)
{
this->SecretaryAction();
observers_i.Update();//这里编译报错?如何修改?
}
}
void SecretaryObserver::SetAction(string s_string)
{
S_action = s_string;
}
string SecretaryObserver::GetAction()
{
cout<<S_action<<endl;
return S_action;
}
//--------------------------------------------------------------//
void
main()
{
SecretaryObserver *LiQ = new SecretaryObserver();
StockObserver *LJ= new StockObserver();
StockObserver *MYG= new StockObserver();
Lijian->SetName("LJ");
MaoYongGang->SetName("MYG");

LiQ->AttachObserver(LJ);
LiQ->AttachObserver(MYG);

LiQ->SetAction("do some actions");
LiQ->NodifyObserver();

delete LiQ;
delete LJ;
delete MYG;

}



代码进行了一部分删节但是不影响看

但是运行到函数:
void SecretaryObserver::NodifyObserver()
{
list<StockObserver*>::iterator observers_i;
for (observers_i = observers.begin();observers_i != observers.end(); ++observers_i)
{
this->SecretaryAction();
observers_i.Update();
}
}
的时候,报错,如何修改,我之前修改了别的地方,但是编译器没有给这个函数报错啊???如何实现把list里的每一个成员都运行函数update,不是这样的吗?
请指教。
...全文
评论 8
收藏 已收藏
分享
返回顶部
redoffice
C++ 语言 65,214 成员 250,514 内容