zoukankan      html  css  js  c++  java
  • 2021/11/23

    责任链
    #include <iostream> #include <vector> using namespace std; class relatives { public: relatives(){} virtual ~relatives(){} virtual bool request(int)=0; }; class Manage1 : public relatives { public: Manage1(){} virtual ~Manage1(){} bool request(int num) { if (num<10000) { cout<<num<<"元订单主任给批准"<<endl; return true; } else { cout<<num<<"元订单主任不给批准,找部门经理"<<endl; return false; } } }; class Manage2 : public relatives { public: Manage2(){} virtual ~Manage2(){} bool request(int num) { if (num<50000) { cout<<num<<"元订单部门经理给批准"<<endl; return true; } else { cout<<num<<"元订单部门经理不给批准,找副总经理"<<endl; return false; } } }; class Manage3 : public relatives { public: Manage3(){} virtual ~Manage3(){} bool request(int num) { if (num<100000) { cout<<num<<"元副总经理给批准"<<endl; return true; } else { cout<<num<<"元订单副总经理不给批准,找总经理"<<endl; return false; } } }; class Manage4 : public relatives { public: Manage4(){} virtual ~Manage4(){} bool request(int num) { if (num<200000) { cout<<num<<"元总经理给批准"<<endl; return true; } else { cout<<num<<"金额太大批不了"<<endl; return false; } } }; class buysomething { private: vector<relatives*> p_vbuy; public: buysomething() { p_vbuy.push_back(new Manage1); p_vbuy.push_back(new Manage2); p_vbuy.push_back(new Manage3); p_vbuy.push_back(new Manage4); } virtual ~buysomething() { p_vbuy.clear(); } void request(int num) { bool flag=false; for (vector<relatives*>::iterator it=p_vbuy.begin();it!=p_vbuy.end();it++) { flag=(*it)->request(num); if (flag==true) break; } } }; int main() { buysomething *buy=new buysomething; buy->request(260000); delete buy; system("pause"); return 0; }
  • 相关阅读:
    leetcode 279. Perfect Squares
    leetcode 546. Remove Boxes
    leetcode 312. Burst Balloons
    leetcode 160. Intersection of Two Linked Lists
    leetcode 55. Jump Game
    剑指offer 滑动窗口的最大值
    剑指offer 剪绳子
    剑指offer 字符流中第一个不重复的字符
    leetcode 673. Number of Longest Increasing Subsequence
    leetcode 75. Sort Colors (荷兰三色旗问题)
  • 原文地址:https://www.cnblogs.com/qiangini/p/15580438.html
Copyright © 2011-2022 走看看