C++设计模式之模板方法模式怎么实现
发表于:2024-10-31 作者:千家信息网编辑
千家信息网最后更新 2024年10月31日,这篇文章主要介绍了C++设计模式之模板方法模式怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++设计模式之模板方法模式怎么实现文章都会有所收获,下面我们一起来看
千家信息网最后更新 2024年10月31日C++设计模式之模板方法模式怎么实现
这篇文章主要介绍了C++设计模式之模板方法模式怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++设计模式之模板方法模式怎么实现文章都会有所收获,下面我们一起来看看吧。
模板方法模式使用继承来实现模式的功能,在基类使用一个方法来定义算法的各个步骤,这些步骤(方法)的具体实现会放到子类中,通过这样来实现不同算法对象的算法拼合,完成该对象整体算法的实现。
作用
模板方法中定义了具体操作中所使用算法的各个步骤,并将其实现交由子类完成,从而实现多种不同的功能;
类视图
实现
class Lunch{public: Lunch(){} virtual ~Lunch(){} void feed() { cooking(); eating(); cleaning(); } virtual void cooking()=0; virtual void eating() { cout<<"I am eating,Please don't disturb me\n"; } virtual void cleaning();};class MCMeal : public Lunch{public: MCMeal(){} virtual ~MCMeal(){} void cooking() { cout<< "I am cooking Mc Meal\n"; } void cleaning() { cout<< "I am cleaning Mc plates"; }};class KFCMeal : public Lunch{public: KFCMeal() {} virtual ~KFCMeal(){} void cooking() { cout<< "I am cooking KFC Meal\n"; } void eating { cout<< "KFC Meal is good\n"; } void cleaning() { cout<< "I am cleaning KFC plates and cups\n"; }};int main(){ Lunch* meal1 = new McMeal(); meal1.feed(); Lunch* meal2 = new KFCMeal(); meal2.feed();}
应用场景
当一个算法功能需要能够改变,并通过在子类中对功能重写来实现这种变化;
当算法能够实现统一步骤,并且可以划分不变部分和可变部分,将可变互粉在子类中实现算法不同的变化;
关于"C++设计模式之模板方法模式怎么实现"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"C++设计模式之模板方法模式怎么实现"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
模式
方法
算法
模板
设计模式
C++
设计
功能
子类
步骤
不同
知识
内容
对象
篇文章
部分
变化
可变
价值
场景
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
政府 网络安全规划与实施
皖江工学院数据库技术与应用历年
个人计算机的网络安全是什么
分布式 数据库连接池
小区三维模型设计软件开发
国家安全网络安全宣传周活动
虚拟机运用哪些软件开发技术
梦幻西游天涯若比邻是哪个服务器
英文怎么写新华互联网科技学校
江阴通用软件开发电子
七栋数据库
安全预案 舆情 网络安全
北京蓝运网络技术有限公司
美团数据库巡检设计
苹果手机emby主机服务器
赣州市数据库
微擎 数据库备份
mysql存储数据库的值
网络技术英语单词
安阳佳信网络技术有限公司
计算机网络技术电子版第八版
巫妖王魔兽世界数据库
电脑怎么关闭网络安全提醒
服务器做系统迁移
阿里云服务器怎么上传
罗城县人民医院网络安全
宁波仲达网络技术
软件开发即征即退备案
数据库2008设置外键约束
网络安全对银行的