自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Qt界面编程(五)

一、Qt的网络通信​ 使用网络通信模块前,要在.pro文件中添加network模块。QUdpScoket类是Qt对UDP协议的封装:​ 1、创建QUdpSocket对象​ 2、绑定IP的端口号​ 3、发送数据:​ qint64 writeDatagram(const char *data, qint64 len, const QHostAddress &host, quint16 port);​ data:待发送数据的首地址​ len:待发送数据的长度​ host:发送目标

2021-03-09 11:52:47 327

原创 Qt界面编程(四)

一、界面布局1、绝对定位​ 固定窗口的大小,设置窗口的最大值、最小值,让界面不会发生变化,然后再设置控件的位置和大小。2、相对定位​ 控件的位置和大小不再固定,而是根据窗口的大小进行设置。​ void resizeEvent(QResizeEvent* event) 窗口大小发生变化时会触发该事件。​ width() 获取宽度​ height() 获取高度​ x(),y() 获取位置​ move() 设置位置​ resize() 设置宽高3、自动布局​ Qt中自带两个特

2021-03-09 11:50:06 253

原创 Qt界面编程(一)

一、Qt简介1、Qt是什么​ 图形用户应用程序框架,是对底层应用编程接口进行面向对象的封装。​ 是一套基于C++语言的类库,专注但不局限与用户界面的开发,也可以进行系统调用、网络通信、数据库、2D/3D的图像处理。​ 特点:跨平台,支持linux、windows、MacOS、iOS、android等系统。2、为什么选择Qt​ 基于C++语言,简单易用​ 优良的跨平台特性,个人计算机、工控、嵌入式的界面占用主导地位。二、Qt环境与工具1、工具​ Qt助手:Qt的参考手册,涉及Qt中的每个类

2021-03-09 11:37:41 857

原创 MySQL数据库(四)

多表查询:​ 当需要查询的数据在多张表中,需要多张表同时查询。​ select 字段 from 表1,表2 where 条件;​ 注意:条件是多表查询的基础,它是多张表联合在一起的依据,多表查询时如果不写条件会产生笛卡尔积​ 查询出每位员工的姓名、工资、部门id、部门名。​ select first_name,salary,dept_id,name from s_dept,s_emp where dept_id=s_dept.id;​ 注意:如果在多张表中有相同的字段,可以使用

2021-03-09 11:36:08 259

原创 MySQL数据库(二)

一、数据操作语言1、插入表数据a、按顺序插入 insert into 表名 values(数据1,数据2,...); insert into Student values("hehe",'m',10016);b、指定字段插入insert into 表名(字段1,字段2,...) values(数据1,数据2,...);insert into Student(name,id) values("xixi",10086);2、修改表数据update 表名 set 字段名=数据,… wh

2021-03-09 11:14:58 185 2

原创 MySQL数据库(一)

一、数据库介绍1、为什么需要数据库​ 由于计算机的内存资源有限且掉电后数据会丢失,因此需要把程序中用到的数据保存下来以到便于关机后还能继续使用,而保存数据最简单的方法就是把数据以文件形式写入到磁盘中,我们把这个过程叫数据持久化。​ 但随着程序的功能越来越复杂、数据量越来越来大,管理数据就成了大问题,因为读写文件并解析出数据需要大量的重复操作,并且从海量的数据中快速查找出指定的数据需要复杂的逻辑。​ 如果程序都各自实现自己的读写数据的代码,一方面效率低且容易出错,另一方面是每个程序访问数据的接口不同,

2021-03-09 11:11:48 232 1

原创 标准C++(七)

一、类型信息typeid 用于获取数据类型的信息,返回值是type_info类型的对象,需要加头文件typeinfo。type_info类型:name() 返回基本类型的缩写,返回自定义类型的名字。同时还支持 == != 用于判断两种数据是否是同一种类型。注意:如果用于判断父子类型的指针或引用,它并不能准确判断出实际的类对象,但是如果父类中有虚函数则可以。二、异常处理C++异常处理是一种错误的处理方式,系统使用信号,C语言使用返回值。1、抛异常​ 把一个包含错误信息的数据,返回给调用

2021-03-08 21:51:02 116

原创 标准C++(七)

一、模板技术是一种自动生成代码的技术,能够让程序在编写是不需要考虑数据类型(让代码脱离数据类型),所以这种技术也叫做泛型编程技术。HP公司使用这种技术封装了一套数据结构和算法叫STL,现已开源,被默认包含在C++标准库中。二、为什么使用模板1、C/C++是一种静态编程语言(预处理->汇编->编译->链接)静态编程语言的优点是运行速度快,而缺点是实现通用的代码比较麻烦,例如:实现一个通用的快速排序算法。动态编程语言:html、shell、python2、借助回调函数实现通用代

2021-03-08 21:49:06 109

原创 标准C++(六)

一、纯虚函数和抽象类1、纯虚函数在虚函数声明的末尾添加=0,这种没有函数体的函数叫纯虚函数。virtual 返回值 函数名(参数列表) = 0;2、抽象类成员函数中有纯虚函数的类叫抽象类,这种类不能创建对象(不能实体化)。抽象类只能被继承、被覆盖,由子子类创建对象。如果继承的抽象类,但没有覆盖纯虚函数,那么子类也变成了抽象类。3、纯抽象类所有的成员函数都是纯虚函数,这种类叫做纯抽象类。这种类一般用于设计接口,这种类的子类被修改后,调用者不需要修改或只需要简单的修改即可继续使用。注意:

2021-03-08 21:47:49 86

原创 标准C++(五)

一、类的继承1、当面临一个问题时,现在的类是否能解决部分问题,如果可以则把现在的继承然后再进行扩展,来缩短问题的时间、降低解决问题的难度(继承就是代码复用)。2、当面临的问题比较复杂时,可以把问题分层,每层设计一个类,然后再通过继承进行汇总,最终得到一个可以解决问题的类,以此降低解决问题的难度。二、继承的基本语法1、继承表一个类可以继承多个类,被继承的类叫父类(基类),继承者加子类(派生类),每个父类都可以有不同的继承方式。class 子类:继承方式1 父类1,继承方式2 父类2...{

2021-03-08 21:45:29 1603

原创 标准C++(四)

一、静态成员静态成员变量被static修饰过的类成员变量,叫静态成员变量,这种成员变量的特点是存储空间为bss段或data段,该变量只会被创建出一份,为所有类对象共享。静态成员变量属于类,而不是某个类对象。静态成员变量的声明与定义:在类静态成员变量仅仅是声明,定义、初始化必须在类外,定义时不再需要static。类型 类名::成员名;注意:静态成员变量依然受访问控制符的限制,private、protected权限的静态成员变量依然只能在类内访问,public权限的静态成员变量可以当全局变量使用。

2021-03-08 21:44:39 72

原创 标准C++(三)

一、析构函数什么是析构函数:与构造函数一样也是一种特殊的成员函数,他会在对象释放的时候自动调用。函数格式:~类名(void){ }析构函数的任务:负责释放在构造函数中获取到的所有资源,执行过程:1、先执行析构函数本身代码2、调用成员变量的析构函数3、调用父类的析构函数注意:析构函数与构造函数的执行顺序相反。二、缺省构造函数、析构函数在设计一个类时如果没有显示实现构造和析构函数,编译器会自动生成他们,也就是缺省的构造和析构函数。但生成的并不是真正语法意义上的函数,而是功

2021-03-08 21:43:25 86

原创 标准C++(二)

一、引用1、什么是引用:引用就是取别名(外号)。引用入是用一个新的标识符与另一个标识符的内存建立绑定关系,从而一块内存对应多个标识符。练习1:实现C++版的swap函数。2、引用的基本特性1、引用必须初始化,也就是必须有引用目标。不存在空的引用,但有可能存在悬空引用。2、可以引用无名对象或临时对象,但必须使用常引用。3、引用不能更换目标引用一旦定义、初始化完成后就和普通变量一样了,它就代表了引用目标,一旦引用终身不能更换引用目标(没有这种语法)。4、如果引用的目标具有const属性,那么

2021-03-08 21:42:08 93

原创 标准C++(一)

一、C++介绍贝尔实验室的本贾尼·斯特劳斯特鲁普,于1979年在分析Linux系统分布内核流量分析时,希望有一个更加模块化的工具,于是他为C语言增加了类的机制(面向对象),于1983年完成了C++的第一个版本。特点:​ 1、C++完全兼容C语言的所有内容。​ 2、支持面向对象的编程思想(抽象、封装、继承、多态)。​ 3、支持函数、运行符重载。​ 4、支持泛型编程、模板技术。​ 5、支持异常处理机制。​ 6、类型检查更严格。二、第一个C++程序1、文件扩展名.cpp .cc .C .cx

2021-03-08 21:39:28 619

原创 windows下编程

搭建开发环境1、安装GNU编译器解压mingw.rar到C盘把C:\mingw\bin路径添加到 path 环境变量中打开命令提示符,使用gcc -v检查配置是否成功2、安装VS Code文本编译器安装C/C++、Chinese、Code Runner插件。写一个HelloWorld程序编译并执行Windows 系统下的 socket 编程1、winsock2.h,Windows系统下使用socket只需要一个头文件。2、编译时需要添加ws2_32.lib库,设置->搜索code-

2021-03-08 21:37:15 480

原创 计算机网络

OSI/RM结构与TCP/IP模型网络协议是为网络数据交换而制定的规则、约定、标准, 一个功能完备的计算机网络需要制定一整套复杂的协议集,网络协议是按层次结构来组织的,网络层次结构模型与各层协议的集合称为网络体系结构。​ OSI/RM结构七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。​ TCP/IP模型四层:​ 物理层:负责通信网络收发数据包​ 网络层:选择、流量控制、与网络拥塞问题,IP协议是该层核心。​ 传输层:机器之间建立用于会话的端到端连接(用于数据的传输),该

2021-03-08 21:34:05 117

原创 进程与线程

进程与程序程序就是存储在磁盘上包括可执行指令、数据的静态实体。进程就是被操作系统读取加载到内存中的正在执行的程序。进程的分类守护进程:由系统在开机时通过启动脚本激活的,总处于活动状态,一般运行在后台维护系统的正常运行,进程为1的init。批处理进程:系统会每隔一段时间集中处理该类进程的相关指令,会有一定的延时,但避免了状态切换的耗时。因此执行效率高。交互进程:在执行时,需要用户输入一些数据否则无法继续执行。Linux/UNIX系统查看进程简单显示:ps 以简略方式显示当前用户当前终端有控制权

2020-12-30 21:02:34 163

原创 操作系统与数据库

操作系统与数据库Unix系统介绍​ 于1971~1973年在美国贝尔实验室由丹尼斯·里奇、肯·汤普逊合作开发而成,而且顺便升级了BCPL语言为C语言。​ 特点:高安全性、高可靠性、高稳定性。既可以构建大型关键业务系统的商业级服务器,也可以构建面向移动终端、可穿戴设备的嵌入式应用。Minix是一种基于微内核架构的类UNIX计算机操作系统,于1987年由AndrewS·Tanenbaum教授发布,用于大学中教学和学术研究,它启发了Linux。Linux系统介绍全称GNU Linux(通用的非商业的类

2020-12-15 19:42:29 2191

原创 数据结构与算法

数据结构与算法数据结构是一门研究数据之间关系的学科。主要有两类需要研究的关系:物理关系:数据在内存中的实际关系。顺序结构:根据数据之间的相对位置确定关系链式结构:在数据中添加一个指针域(地址域),用于指向跟它有关系的数据。逻辑关系:无视物理关系,人为添加的一种关系。集合:数据同属一个集体,除此之外没有任何关系。表:数据之间存在一对一关系,如:数组(顺序表),链表(链式表)。树:数组之间存在一对多关系。图:数据之间存在多对多关系。注意:我们常说的数据结构是逻辑关系,而数据结构的存储方式

2020-12-15 19:36:12 151 1

原创 C语言进阶

堆内存是进程的一个内存段(text、date、bss、heap、stack),由程序员手动管理特点:足够大,缺点:使用麻烦为什么使用堆内存:1、随着程序的复杂,数据量变多2、其他内存段的申请和释放不受控制,堆内存的申请和释放受控制如何使用堆内存:注意:C语言中没有控制堆内存的语句,只能使用C标准库提供的函数#include <stdlib.h>void *malloc(size_t size);//功能:从堆内存中申请size个字节的内存,申请到的的内存中储存的是什么内容

2020-10-27 19:48:11 471 2

原创 C语言简介

C语言简介:​ BCPL -> newB -> C-> UNIX -> Minix -> Linux->gcc​ C语言诞生于1971~1973年,在肯·汤普逊和丹尼斯·里奇领导下编写完成,归属于美国的贝尔实验室。​ C语言为了专门编写操作系统而诞生的语言,所以天生适合对硬件编程,也因为速度快而著称,也非常适合实现数据结构和算法。​ 由于出现时间早,有很多缺陷,也没想到普通人能使用C语言编程,因此存在着缺陷,但是前辈总结了一些可以避免的经验《C陷阱和缺陷》《C程序

2020-10-15 10:22:01 674

原创 Linux安装与使用

C语言开发环境搭建Linux开发环境:VirtualBox 虚拟机工具 开源免费Ubuntu 12.04 LTS 长期支持版本 稳定vim 代码编辑器gcc 编译器Linux系统简介:发展历程:BCPL -> newB -> C-> UNIX -> Minix -> LinuxLinux 管理硬盘的能力非常强,所以我们看到的只有一个分区/ 根目录,所有的文件都储存在它下面/bin 储存系统命令/dev 设备文件(一切皆文件)/media 多媒体

2020-10-09 20:31:38 350

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除