c++设计模式—装饰者模式
来源:互联网 发布:稳定性最好的单片机 编辑:程序博客网 时间:2024/06/18 00:17
--以下是一个初学者的自我表白,有些错误请大家指出来啊。
#include<iostream>#include<string>using namespace std;// 抽象的饮料class Beverage {public:virtual string description() = 0;// 返回描述virtual float cost() = 0; // 返回价格};class HouseBlend : public Beverage {public:string description() { return "混合咖啡"; }float cost() { return 2.0; }};class Espresso : public Beverage {public:string description() { return "意大利浓咖啡"; }float cost() { return 3.0; }};// 抽象调料class Decorator : public Beverage {protected://mBeverage * mb;//*public:Decorator(Beverage * bb) : mb(bb) {}};// 具体的调料:牛奶class Milk : public Decorator {public:Milk(Beverage * bb) : Decorator(bb) {}string description() {string str = mb->description();str += " 牛奶";return str;}float cost() {return mb->cost() + 0.5;}};class Mocha : public Decorator {public:Mocha(Beverage * bb) : Decorator(bb) {}string description() {string str = mb->description();str += " 摩卡";return str;}float cost() {return mb->cost() + 0.7;}};int main( ){Decorator * d = new Milk(new Espresso);d = new Mocha(d);d = new Milk(d);cout << d->description() << ":" << d->cost() << endl;system("pause");return 0;}
阅读全文
0 0
- C#--设计模式之装饰者模式
- 设计模式——装饰者模式(c++)
- 设计模式——装饰者模式(C++)
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 设计模式——装饰者模式
- 数独的简单实现
- 读书笔记--机器学习第二章
- ShareSDK入门指南:Android 10分钟快速集成
- overflow滚动条消失小技巧
- DrawerLayout的使用
- c++设计模式—装饰者模式
- List Comparator排序
- linux进程描述符、地址空间、文件共享和C语言FILE结构体成员
- JavaScript
- Android Studio下的JNI使用全解析(一)
- java多线程学习之volatile
- bg、fg、&、vim 中:! 的使用-终端中简单的任务调度
- php获取函数参数,获取类里面的方法名
- 不同版本(2.3,2.4,2.5,3.0)的servlet web.xml 头信息