- 博客(11)
- 资源 (13)
- 问答 (2)
- 收藏
- 关注
原创 《二十三种设计模式》 第五篇 “工厂模式” (C++实现)
工厂模式是二十三中设计模式中最常用的一种模式之一,几乎所有开源的框架都有用到工厂模式。工厂模式可以分为三种:简单工厂模式、工厂方法模式、抽象工厂模式。其中,简单工厂模式并没有列入到二十三中设计模式中,应为其太简单了,而且违反了开闭原则。工厂方法模式 与 抽象工厂模式都是简单工厂模式的延伸。对于工厂模式,其最主要的作用就是定义对象返回!就是另外再定义类来定义需要使用到的对象,而不再是在main函数中定义对象。通俗的讲就是分配对象返回(工厂模式就是用来生产对象的)。简单工厂模式简单工厂模式是三
2020-05-26 23:38:13 642
原创 C/C++ 被隐藏的父类函数
不知道大家有没有听说过函数隐藏!见字面意思就是函数被隐藏,那么为什么会被隐藏了?隐藏了又是什么概念呢?下面将通过一个例子讲解!例子是这样的:有一个单身Boy类,他有三个重载play的成员方法,分别是:void play() 、 void play(string name) 、 void play(string name1, string name2);他还有一个子类PlayBoy类,子类中,重写了父类Boy类中的void play(string name1, string name2)方法!然后
2020-05-25 23:28:54 2041 7
原创 《二十三种设计模式》 第四篇 “代理模式” (C++实现)
代理模式的原理:代理(Proxy)提供了间接对目标对象进行访问的方式,即通过代理对象访问目标对象。其好处是:可以在目标对象实现的功能上,增加额外的功能补充,即扩展目标对象的功能。这就符合了设计模式的开闭原则,即在对既有代码不改动的情况下进行功能的扩展。举个例子:明星与经纪人之间就是被代理和代理的关系,明星出演活动的时候,明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎的事情就交给他的代理人(经纪人)来解决。这就是代理思想在现实中的一个例子。角色说明抽象角色声明真实对象和代
2020-05-23 19:00:01 420
原创 《二十三种设计模式》 第三篇 “中介者模式” (C++实现)
定义:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单点来说,将原来两个直接引用或者依赖的对象拆开,在中间加入一个‘中介’对象,使得两头的对象分别和‘中介’对象引用或者依赖。中介者模式的组成部分:种类说明抽象中介者模式抽象中介者角色定义统一的接口用于各同事角色之间的通信;具体中介者角色具体中介者角色通过协调各同事角色实现协作行为。为此它要知道并引用各个同事角色;同事角色每一个同事角
2020-05-18 17:51:14 452
原创 C/C++ 报错提示 “表达式必须包含类类型” 与 “不可访问”
今天给大家分享两个常见的错误:1. (定义对象 || 调用函数) 时提示:“表达式必须包含类类型” 的报错;2. 对象调用函数时提示:“不可访问” 的报错。
2020-05-10 15:25:10 63861 7
原创 C/C++ 纳尼?你还不知道控制台窗口可以修改名字?
控制台窗口相信学过编程的同学都知道,但是你们知道该怎么修改他的名字吗?如何修改那里的名字呢??今天小编给大家带来两种修改控制台名字的方法!第一种在包含头文件:#include <Windows.h>的情况下,写入该行代码:system("title 这是修改的新名字");修改后运行截图:可以看到名字已经修改了!!!第二种在包含头文件:#include <W...
2020-05-07 21:22:59 4604 4
原创 《二十三种设计模式》 第二篇 “外观模式” (C++实现)
定义:外观模式定义了一个将子系统的一组接口集成在一起的高层接口,以提供一个一致的界面。通过这个界面,其它系统可以方便地调用子系统中的功能,而忽略子系统内部发生的变化。使用场景:为一个比较复杂的子系统提供一个简单的接口;将客户程序与子系统的实现部分分离,提高子系统的独立性、可移植性;简化子系统间的依赖关系。外观是一个能为子系统和客户提供简单接口的类。当正确的应用外观,客户不再直接和子系...
2020-05-04 20:30:34 424
原创 C/C++入门算法 栈的企业级应用 《迷宫算法求解》
栈是一种特殊的算法,由于他的特性是“后进先出”,使得它特别适合用来求解迷宫!我们以下面图片的小迷宫为例:迷宫中的小人呆在迷宫的入口位置,他需要找到迷宫的出口,进而走去迷宫。迷宫对应的二维数组也在上图中标明出来了。0表示墙,1表示可以走的路径。找迷宫通路需要使用回溯法,找迷宫通路是对回溯法的一个很好的应用,实现回溯的过程用到数据结构—栈!回溯法:对一个包括有很多个结点,每个结点有若干个搜索...
2020-05-03 19:08:02 421
原创 C/C++ 入门算法,“栈”的全面剖析
栈的原理精讲栈是一种线性结构,即线性排列。好比如一条胡同:先进来的车子只能等后面进来的车子出去后,他才能出去,也就体现了栈的特性:“后进先出”!栈也是一种线性表,只不过它是操作受限的线性表,只能在一端操作。进出的一端称为栈顶(top),另一端称为栈底(base)。栈可以用顺序存储,也可以用链式存储。我们先看顺序存储方式:其中,base 指向栈底,top 指向栈顶。注意:栈只能在一...
2020-05-02 20:52:28 1214
原创 C/C++ 手写“90坦克大战游戏”
今天给大家分享使用C语言配合easy-x图形库开发的一款控制台桌面小游戏。(IDE:请使用vs2010或者vs2019)资源下载链接:百度网盘链接:https://pan.baidu.com/s/1KYtZDYwbR_X62k_Swl3anQ提取码:8qa4或者点击这里!!!相信不管是80后还是90后,更或者是00后,应该都玩过“09坦克大战”这款经典的FP游戏吧,现在,给大家分享这款...
2020-05-01 21:19:22 2499 2
高性能、高并发,封装了epoll的框架
2023-03-30
Qtxlsx + QtCreator + 自己编写的对excel文件操作小案例
2022-08-30
QCefView与html通信案例.rar
2022-07-29
QT 自己写一个消息弹窗源码
2022-05-07
QT五子棋项目(人机对战).rar
2022-01-16
QT与JS交互项目代码
2022-01-05
90坦克大战.rar
2020-05-01
C++ 五子棋游戏.rar
2020-03-08
C/C++语言开发的一款 五子棋 游戏
2020-03-06
mini-xml如何支持解析中文?
2021-12-23
Centos7中如何使用QT嵌入CEF3进行开发?
2021-08-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人