C++设计模式——模板方法模式


模板方法是一种代码复用的基本技术,定义了一个操作中的算法骨架,而将一些步骤延迟到子类中
在使用模板方法时,很重要的一点是模板方法应当指明哪些操作是可以被重写的,以及哪些是必须被重写的。

 

 

复制代码
#include <iostream>
using namespace std;


class AbstractClass 
{
public:
    virtual ~AbstractClass() {}
    virtual void PrimitiveOperation1() = 0;
    virtual void PrimitiveOperation2() = 0;
    void TemplateMethod() {
        PrimitiveOperation1();
        PrimitiveOperation2();
    }
};


class ConcreteClassA : public AbstractClass {
public:    
    void PrimitiveOperation1() {
        cout << "具体类A方法1实现" << endl;
    }
    void PrimitiveOperation2() {
        cout << "具体类A方法2实现" << endl;
    }
};


class ConcreteClassB : public AbstractClass {
public:
    void PrimitiveOperation1() {
        cout << "具体类B方法1实现" << endl;
    }
    void PrimitiveOperation2() {
        cout << "具体类B方法2实现" << endl;
    }
};

int main()
{
    AbstractClass* a = new ConcreteClassA();
    a->TemplateMethod();

    AbstractClass* b = new ConcreteClassB();
    b->TemplateMethod();

    system("pause");
    return 0;
}
复制代码

 

posted @   冰糖葫芦很乖  阅读(205)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示