ChainOfResponsibility

#include <iostream>

using namespace std;



class Chain
{
public:
    bool Handle() { return false; }
};

class Level1 : public Chain
{
public:
    bool Handle()
    {
        cout<<"Level1::true"<<endl;
        return true;

    }
};

class Level2 : public Level1
{
public:
    bool Handle()
    {
        cout<<"Level2::Handle"<<endl;
        return Level1::Handle();
    }
};

class Level3 : public Level2
{
public:
    bool Handle()
    {
        cout<<"Level3::Handle"<<endl;
        return Level2::Handle();
    }
};



int main(int argc, char *argv[])
{
    Level3 level3;
    level3.Handle();


    return 0;
}

 

posted @ 2014-12-16 16:42  stanley19861028  阅读(95)  评论(0编辑  收藏  举报