当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

计划情势--察看者情势(C++)[VC/C++编程]

赞助商链接



  本文“计划情势--察看者情势(C++)[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

作者:刘勉刚 E-mail:liumgj@163.com

察看者情势是利用非常遍及的计划情势之一,前面已经用C#实现了,下面是C++的实现,在C++实现中,C++中没有接口的概念,但是可以用抽象类类替换Java或C#中的接口,在C++中抽象类中从派生类中抽象出来的函数(办法),必须定义成纯虚函数,这样在背面的利用中才可以通过基类的指针来拜候这些函数,面向对象的语言中有个特点,多态只能拜候二者中共有的部份.

#include
#include
#include
using namespace std;

class Observer;
class Subject
{
public:
virtual void attach(Observer *o)=0;
virtual void change()=0;
virtual void setWeather(string str)=0;
virtual string getWeather()=0;
};
class Observer
{
public:
virtual string getName()=0;
virtual void update(Subject *s)=0;
};

class Earth:public Subject
{
private:
string weather;
list
*l;
public:
Earth()
{
l = new list
();
}
void attach(Observer *o)
{
this->l->push_back(o);
};
void change()
{
for(list
::iterator it=l->begin();it!=l->end();++it)
{
(*it)->update(this);
}
};
void setWeather(string str)
{
this->weather=str;
change();
};
string getWeather()
{
return this->weather;
};
};
class Satellite:public Observer
{
private:
string name;
public:
Satellite(string str)
{
name=str;
}
string getName()
{
return name;
};
void update(Subject *s)
{
cout〈〈this->getName()+" "+s->getWeather()<
};
};


int main()
{
Earth e;
Satellite *s1 = new Satellite("风云一号");
Satellite *s2 = new Satellite("风云二号");
Satellite *s3 = new Satellite("风云三号");
Satellite *s4 = new Satellite("风云四号");
e.attach(s1);
e.attach(s2);
e.attach(s3);
e.attach(s4);
e.setWeather("fine");
return 0;
}


  以上是“计划情势--察看者情势(C++)[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>错误 Access 2007年当您尝试在计划情势数据库是从早期版本的</b>
  • 计划情势--察看者情势(C++)
  • 计划情势的解析和实现(C++)之十八-Iterator情势
  • <b>计划情势的解析和实现(C++)之十九-Memento情势</b>
  • 计划情势的解析和实现(C++)之二十-Visitor情势
  • <b>计划情势的解析和实现(C++)之二十一-结束篇</b>
  • <b>计划情势的解析和实现(C++)之一-Factory情势</b>
  • 计划情势的解析和实现(C++)之二-Abstract Factory情势
  • <b>计划情势的解析和实现(C++)之三-Builder情势</b>
  • <b>计划情势的解析和实现(C++)之四-Prototype情势</b>
  • <b>计划情势的解析和实现(C++)之五-Singleton情势</b>
  • 计划情势的解析和实现(C++)之六-Adapt情势
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .