zoukankan      html  css  js  c++  java
  • 设计模式装饰模式实现C++

    /*********************************
    *设计模式--装饰模式实现
    *C++语言
    *Author:WangYong
    *Blog:http://www.cnblogs.com/newwy
    ********************************/
    #include <iostream>
    using namespace std;
    class Component
    {
    	public:
    	virtual ~Component(){}
    	Component(){}
    	virtual void Operation(){}
    };
    class ConcreteComponent:public Component
    {
    	public:
    	ConcreteComponent(){}
    	~ConcreteComponent(){}
    	void Operation(){cout<<"ConcreteComponent operation ..."<<endl;}
    };
    class Decorator:public Component
    {
    	public:
    	Decorator(Component*com){this->_com = com;}
    	virtual ~Decorator(){}
    	void Operation(){}
    	protected:
    	Component * _com;
    };
    class ConcreteDecrator:public Decorator
    {
    	public:
    	ConcreteDecrator(Component*com):Decorator(com){}
    	~ConcreteDecrator(){}
    	void Operation(){_com->Operation();}
    	void AddedBehavior(){cout<<"ConcreteDecrator::AddedBehavior..."<<endl;}
    };
    int main()
    {
    	Component*com = new ConcreteComponent();
    	Decorator *dec = new ConcreteDecrator(com);
    	dec->Operation();
    	delete dec;
    	return 0;
    }
    
    
  • 相关阅读:
    WSL2
    坐标系变换
    Python websocket
    PAJ7620 IIC 通信
    Python中assert的使用
    Python中循环的使用
    Linux 生成指定大小文件
    SVN不显示log 显示1970年问题
    阿里云 CS实例 开机自运行脚本文件
    生成UDS安全算法DLL文件
  • 原文地址:https://www.cnblogs.com/newwy/p/1855222.html
Copyright © 2011-2022 走看看