C++中的策略模式:灵活多变的设计模式
策略模式是一种经典的设计模式,它可以让程序具有更好的灵活性、可扩展性、可维护性。在C++中,通过对象的多态性,我们可以轻松地实现策略模式。
首先,我们需要定义一个抽象基类,用来声明策略模式的接口。在这个基类中,我们定义了一个纯虚函数execute(),这个函数将由不同的具体策略类来实现。
class Strategy {
public:
virtual ~Strategy() {}
virtual void execute() = 0;
};
然后,我们可以定义多个具体的策略类,它们分别实现了execute()函数。在这里,我们为了简单起见,只定义了两个具体策略类。
class StrategyA : public Strategy {
public:
void execute() {
std::cout << "Strategy A is executed." << std::endl;
}
};
class StrategyB : public Strategy {
public:
void execute() {
std::cout <