策略模式

  策略模式和工厂的区别在于,工厂是继承,策略是组合,我发现,很多设计模式都是实现一个功能,延迟实现,让编码更灵活,实属牛逼,策略模式游戏应该用得比较多,例如一个角色他可以是ad或者ap,但是他们实现的功能是一样的,那么我们就可以用一个攻击类作为成员对象,当客户端决定时再套个if else就行了

#include <iostream>
#include <thread>
#include <mutex>
#include<condition_variable>
#include <atomic>
#include<unordered_map>
#include<future>
using namespace std;
struct base {
	virtual void show() {};
	virtual ~base() {};
};
struct f1 :public base {
	void show()
	{
		cout << "I am f1" << endl;
	}
};
struct f2 :public base {
	void show()
	{
		cout << "I am f2" << endl;
	}
};
struct role {
	base* data;
	role(base* temp):data(temp)
	{
	}
};
int main()
{
	role myrole(new f1());
	myrole.data->show();
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值