用CPlus代码写一个模板方法模式
时间: 2024-01-29 13:02:05 浏览: 21
好的,下面是使用C++语言编写模板方法模式的示例代码:
```c++
#include <iostream>
class AbstractClass {
public:
// 算法模板方法
void TemplateMethod() {
PrimitiveOperation1();
PrimitiveOperation2();
}
protected:
virtual void PrimitiveOperation1() = 0;
virtual void PrimitiveOperation2() = 0;
};
class ConcreteClass1 : public AbstractClass {
protected:
void PrimitiveOperation1() {
std::cout << "ConcreteClass1: PrimitiveOperation1()" << std::endl;
}
void PrimitiveOperation2() {
std::cout << "ConcreteClass1: PrimitiveOperation2()" << std::endl;
}
};
class ConcreteClass2 : public AbstractClass {
protected:
void PrimitiveOperation1() {
std::cout << "ConcreteClass2: PrimitiveOperation1()" << std::endl;
}
void PrimitiveOperation2() {
std::cout << "ConcreteClass2: PrimitiveOperation2()" << std::endl;
}
};
int main() {
AbstractClass* abstraction = new ConcreteClass1();
abstraction->TemplateMethod();
std::cout << std::endl;
abstraction = new ConcreteClass2();
abstraction->TemplateMethod();
return 0;
}
```
希望对你有帮助。