c++之模板方法模式
发布日期:2021-09-25 21:40:53 浏览次数:1 分类:技术文章

本文共 967 字,大约阅读时间需要 3 分钟。

模板方法属于属于行为型模式

定义:定义一个操作中的算法骨架,将一些步骤延迟到子类中实现。

优点:使得子类可以不改变一个算法的结构,就可以重定义改算法的某些特定的步骤,将不变的行为移动到父类,用于去除子类中的重复代码,提供了一个很好的代码复用平台。

场景栗子:连接设备的分为TCP和串口连接

代码:

#include 
using namespace std;class IConnect{public: int connectDevice() { configArgs(); cout << "配置完毕" << endl; if (!connect()) { return -1; } cout << "连接成功" << endl; return 0; }protected: virtual void configArgs() = 0; virtual bool connect() = 0;};class TcpConnect : public IConnect{public: virtual void configArgs() { cout << "tcp连接" << endl; } virtual bool connect() { cout << "开始tcp连接" << endl; return true; }};class UartConnect : public IConnect{public: virtual void configArgs() { cout << "串口连接" << endl; } virtual bool connect() { cout << "开始uart连接" << endl; return true; }};//客户端int main(){ IConnect *con = new TcpConnect; con->connectDevice(); cout << "-----------------" << endl; con = new UartConnect; con->connectDevice(); if (con) { delete con; con = nullptr; } return 0;}

输出效果:

转载地址:https://blog.csdn.net/c_shell_python/article/details/107414465 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:c++函数模板与类模板
下一篇:c++之外观模式

发表评论

最新留言

不错!
[***.144.177.141]2024年03月08日 14时05分38秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

java.io.file()_Java File getUsableSpace()方法 2019-04-21
java httpclient 工具_spring整合httpClient工具类 2019-04-21
java监控其他服务器运行状态_windows服务器监控多个tomcat运行状态 2019-04-21
java给学生按总成绩排名_java - 输入学生成绩,取它们的平均值,然后通过排名等级的学生 - SO中文参考 - www.soinside.com... 2019-04-21
java构造函数有什么用_java构造函数有什么用,怎么用 2019-04-21
mysql 匹配 隔开的_按空格分隔关键字并搜索MySQL数据库 2019-04-21
java factory用法_怎样使用Java实现Factory设计模式 2019-04-21
java窗口内容如何复制_求助Java窗口菜单如何实现复制粘贴剪切等功能(内附源代码)... 2019-04-21
盾神与砝码称重java_[蓝桥杯][算法提高VIP]盾神与砝码称重 2019-04-21
java输出狗的各类信息_第九章Java输入输出操作 2019-04-21
java notify怎么用_java 如何使用notify() 2019-04-21
java加载指定文件为当前文本,java:如何使用bufferedreader读取特定的行 2019-04-21
java metrics 怎么样,Java metrics 2019-04-21
在vscode中php语言配置,Visual Studio Code C / C++ 语言环境配置 2019-04-21
php怎么翻译数据库中的中文,javascript – 如何将翻译后的文本插入数据库php 2019-04-21
普朗克公式matlab,用MATLAB实现普朗克函数积分的快捷计算.pdf 2019-04-21
swoolec+%3c?php,PHP+Swoole并发编程的魅力 2021-06-24
php 404配置,phpcms如何配置404 2021-06-24
matlab wash矩阵产生,洗衣机净衣效能与衣损程度的关系分析 2021-06-24
php中如何调用sql server,php调用SQL SERVER 2008及以上版本的方法 2021-06-24