什么食物会产生砒霜:装饰模式(DECORATOR)案例分析 - jia
来源:百度文库 编辑:偶看新闻 时间:2024/05/06 02:48:00
案例分析:我们去超市买东西,会收到购物小票,上面是你购买的物品名称、数量、单价及总价等信息,以及购物时间,收银员号码等最基本的信息,这些是基本不变的。不过有时超市还会在这张票据的上面或下面打印其他信息,例如:欢迎辞、促销广告等,而且这些信息的内容及打印位置也不固定,相当于是对购物小票的额外装饰了。意图:为一个对象动态连接附加的指责。根据案例,本程序可为购物小票动态添加各种抬头和注释。描述:装饰模式是一种对象结构型模式,这种模式主要用于对象结构图:
程序代码:#include
class cxiaopiao{public: virtual void DaYinXiaoPiao()=0;};class cjutixiaopiao:public cxiaopiao{public: void DaYinXiaoPiao() { cout<<"票据正文"<DaYinXiaoPiao(); }};class header2xiaopiao:public czhuangshixiaopiao{public: header2xiaopiao(cxiaopiao* obj):czhuangshixiaopiao(obj){} void DaYinXiaoPiao() { cout<<"抬头2"<DaYinXiaoPiao(); }};class footer1xiaopiao:public czhuangshixiaopiao{public: footer1xiaopiao(cxiaopiao* obj):czhuangshixiaopiao(obj){} void DaYinXiaoPiao() { xpobj->DaYinXiaoPiao(); cout<<"脚注1"<DaYinXiaoPiao(); cout<<"脚注2"<DaYinXiaoPiao(); cout<DaYinXiaoPiao(); return 0;}运行结果:抬头1票据正文脚注1脚注2
抬头1抬头2票据正文脚注2脚注1Press any key to continue
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jia_xiaoxin/archive/2008/08/28/2842457.aspx
程序代码:#include
class cxiaopiao{public: virtual void DaYinXiaoPiao()=0;};class cjutixiaopiao:public cxiaopiao{public: void DaYinXiaoPiao() { cout<<"票据正文"<
抬头1抬头2票据正文脚注2脚注1Press any key to continue
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jia_xiaoxin/archive/2008/08/28/2842457.aspx