责任链模式:有四个任务A,B,C,D 客户端将任务交给A,A完成后将任务交给B,B完成后将任务交给C.....
本质:链表的实现
#include <iostream>
using namespace std;
class makeCar
{
public :
virtual void makeCarHandle() = 0;
makeCar *setNextHandle(makeCar *handle)
{
if (handle != nullptr)
{
this->_handle = handle;
_handle->makeCarHandle();
}
return _handle;
}
private:
makeCar *_handle;
};
class makeHead : public makeCar
{
public:
void makeCarHandle()
{
cout << "制造车头" << endl;
}
};
class makeBody : public makeCar
{
public:
void makeCarHandle()
{
cout << "制造车身" << endl;
}
};
class makeTail : public makeCar
{
public:
void makeCarHandle()
{
cout << "制造车尾" << endl;
}
};
int main()
{
makeCar *head = new makeHead;
makeCar *body = new makeBody;
makeCar *tail = new makeTail;
head->makeCarHandle();
head->setNextHandle(body);
body->setNextHandle(tail);
tail->setNextHandle(nullptr);
return 0;
}