模板设计模式讲究的是将不变的设置为基类,将变的设置为虚函数来让子类实现。下面就以这样的写下模板设计模式的例子。
例子场景
一个工程步骤分为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;
}