c++之模板方法模式
发布日期:2021-09-25 21:40:53
浏览次数:1
分类:技术文章
本文共 967 字,大约阅读时间需要 3 分钟。
模板方法属于属于行为型模式
定义:定义一个操作中的算法骨架,将一些步骤延迟到子类中实现。
优点:使得子类可以不改变一个算法的结构,就可以重定义改算法的某些特定的步骤,将不变的行为移动到父类,用于去除子类中的重复代码,提供了一个很好的代码复用平台。
场景栗子:连接设备的分为TCP和串口连接
代码:
#includeusing 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.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构造函数有什么用,怎么用
2019-04-21
mysql 匹配 隔开的_按空格分隔关键字并搜索MySQL数据库
2019-04-21
java factory用法_怎样使用Java实现Factory设计模式
2019-04-21
盾神与砝码称重java_[蓝桥杯][算法提高VIP]盾神与砝码称重
2019-04-21
java输出狗的各类信息_第九章Java输入输出操作
2019-04-21
java notify怎么用_java 如何使用notify()
2019-04-21
java metrics 怎么样,Java metrics
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