c++ 设计模式模版方法

最初版本

#pragma once

class Library
{
public:
	void Step1()
	{

	}
	void Step3()
	{

	}
	void Step5()
	{

	}
};

class Appliacation
{
public:
	void Step2()
	{

	}
	void Step4()
	{

	}
};

int main()
{
	Library lib;
	Appliacation app;

	lib.Step1();
	app.Step2();
	lib.Step3();
	app.Step4();
	lib.Step5();
}

最终版本

#pragma once

class Library
{
public:
	void run()
	{
		Step1();
		Step2();
		Step3();
		Step4();
		Step5();
	}
private:
	void Step1()
	{

	}
	void Step3()
	{

	}
	void Step5()
	{

	}
	virtual ~Library()
	{

	}
protected:
	virtual void Step2() = 0;
	virtual void Step4() = 0;
};

class Appliacation : public Library
{
public:
	virtual void Step2()
	{

	}
	virtual void Step4()
	{

	}
};

int main()
{
	Library* app = new Appliacation();
	app->run();
	
}

相关推荐

  1. c++ 设计模式模版方法

    2024-03-17 12:46:03       41 阅读
  2. 模板方法设计模式

    2024-03-17 12:46:03       25 阅读
  3. 设计模式--模板方法

    2024-03-17 12:46:03       25 阅读
  4. 突破编程_C++_设计模式模板方法模式

    2024-03-17 12:46:03       31 阅读

最近更新

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

    2024-03-17 12:46:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-17 12:46:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-17 12:46:03       82 阅读
  4. Python语言-面向对象

    2024-03-17 12:46:03       91 阅读

热门阅读

  1. c++ 设计模式 策略模式

    2024-03-17 12:46:03       39 阅读
  2. 大数据平台测试-我是怎么面试高级测试的

    2024-03-17 12:46:03       43 阅读
  3. ASP.NET-框架分类与详解

    2024-03-17 12:46:03       44 阅读
  4. 爬虫基本原理介绍、实现以及问题解决

    2024-03-17 12:46:03       42 阅读
  5. 鸿蒙获取组件的位置信息

    2024-03-17 12:46:03       47 阅读
  6. 【Python】 Flask相关疑问

    2024-03-17 12:46:03       33 阅读
  7. Spring同时集成JPA与Mybatis

    2024-03-17 12:46:03       36 阅读
  8. 5.70 BCC工具之runqslower.py解读

    2024-03-17 12:46:03       35 阅读
  9. ES6基础5

    2024-03-17 12:46:03       40 阅读