设计模式--责任链模式

责任链模式:有四个任务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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值