//策略模式
#include "pch.h"
#include <iostream>
using namespace std;
//武器策略
class weaponStrategy
{
public:
//抽象的武器策略
virtual void useWeapon() = 0;
};
//步枪
class ak :public weaponStrategy
{
public:
virtual void useWeapon()
{
cout << "使用AK47" << endl;
}
};
//匕首
class knife : public weaponStrategy
{
public:
virtual void useWeapon()
{
cout << "使用小刀" << endl;
}
};;
//角色
class cheracter
{
public:
void setWeapon(weaponStrategy *weapon)
{
this->pweapon = weapon;
}
void throwweapon()
{
this->pweapon->useWeapon();
}
public:
weaponStrategy *pweapon;
};
int main()
{
//创建角色
cheracter *cheractor = new cheracter;
//武器策略
weaponStrategy *knife1 = new knife;
weaponStrategy *ak47 = new ak;
cheractor->setWeapon(knife1);
cheractor->throwweapon();
delete knife1;
delete cheractor;
}
【C++】策略模式
最新推荐文章于 2020-09-10 23:39:05 发布