模板设计模式经典案例

模板设计模式讲究的是将不变的设置为基类,将变的设置为虚函数来让子类实现。下面就以这样的写下模板设计模式的例子。

例子场景

一个工程步骤分为step1,step2,其中step1由总工程指定,step2由子工程指定,最后由一个函数串起来,将step1与step2一起执行出来

Model代码

#pragma once
#include<iostream>

class Model {

public:
	void allStep();
	void Step1();
	virtual void Step2()=0;
	
};
void Model::allStep()
{
	Step1();
	Step2();
}

void Model::Step1()
{
	std::cout << "Model Step1" << std::endl;
}
class ModelSon :public Model {

public:

	void Step2();

};
void ModelSon::Step2() {
	std::cout << "ModelSon Step2" << std::endl;
}

Main代码

#include<iostream>
#include"Model.h"
int main() {
	ModelSon* mo = new ModelSon();
	mo->allStep();
	system("pause");
	return 0;
}

执行结果

在这里插入图片描述

相关推荐

  1. 设计模式:享元模式案例

    2024-03-27 09:56:02       33 阅读
  2. 《C++新经典设计模式》之第2章 模板方法模式

    2024-03-27 09:56:02       57 阅读
  3. 设计模式-02 设计模式-接口隔离原则案例分析

    2024-03-27 09:56:02       35 阅读
  4. 设计模式-03 设计模式-依赖倒转原则案例分析

    2024-03-27 09:56:02       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 09:56:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 09:56:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 09:56:02       82 阅读
  4. Python语言-面向对象

    2024-03-27 09:56:02       91 阅读

热门阅读

  1. 软件工程---软件设计模式和软件体系结构

    2024-03-27 09:56:02       48 阅读
  2. Node.js 的常用命令详解

    2024-03-27 09:56:02       37 阅读
  3. 一些常用的Node.js命令

    2024-03-27 09:56:02       44 阅读
  4. PHP记录日志

    2024-03-27 09:56:02       41 阅读
  5. vue响应式基础

    2024-03-27 09:56:02       37 阅读
  6. Netty空闲检测&Keepalive

    2024-03-27 09:56:02       38 阅读
  7. dijkstra算法及模板题

    2024-03-27 09:56:02       39 阅读
  8. pytorch | pytorch改变tensor维度的方法

    2024-03-27 09:56:02       41 阅读
  9. 前端学习-CSS基础-Day1

    2024-03-27 09:56:02       42 阅读
  10. leetcode88-Merge Sorted Array

    2024-03-27 09:56:02       40 阅读