zoukankan      html  css  js  c++  java
  • 职责链模式

    #include "iostream.h"

    class CHandle
    {
    public:
     CHandle(){}
     virtual ~CHandle(){}
    public:
     virtual void SetHandle(CHandle *handle){};
     virtual void ProcessHandle(int a){} ;
    public:
      CHandle *m_hand;
    };

    class CHandle1 : public CHandle
    {
    public:
     CHandle1(){}
      ~CHandle1(){}
    public:
     void SetHandle(CHandle *handle){m_hand = handle;}
     void ProcessHandle(int a)
     {
      if (a >= 0  )
      {
       cout<<a<<endl;
      }
      else
      {
       m_hand->ProcessHandle(a);
      }
     }
     
     
    };

    class CHandle2 : public CHandle
    {
    public:
     CHandle2(){}
      ~CHandle2(){}
    public:
     void SetHandle(CHandle *handle){m_hand = handle;}
     void ProcessHandle(int a)
     {
      if (a >= 10 )
      {
       cout<<a<<endl;
      }
      else
      {
       m_hand->ProcessHandle(a);
      }
     }
     
     
    };

    void main()
    {
      CHandle1 *ha1 = new CHandle1();
      CHandle2 *ha2 = new CHandle2();
      ha1->SetHandle(ha2);

      ha1->ProcessHandle(10);
    }

  • 相关阅读:
    安装驱动后链接DB
    将man文件导出为文本的脚本
    mysql中的DELIMITER
    存储过程模版(mysql)
    struts学习总结
    Java 反射和内省实现spring的IOC和DI
    JDK动态代理
    js跨域
    mysql函数
    正则表达式
  • 原文地址:https://www.cnblogs.com/lizhengjin/p/1282980.html
Copyright © 2011-2022 走看看