![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 70
C++课程
陈年梦,越人心
大学生一枚,在CSDN上记录学习笔记
展开
-
QT实现多线程
案例:LED在跳数字的同时,另一个线程在做sleep(也可以是任何)操作,俩线程互不影响。线程结束后发送一个信号让主线程知道次线程结束了,然后将led暂停,并关闭线程。一、需要新建一个类MyThread 继承于QThread在QThread类中有一个虚函数run(),在创建一个新线程后会自动调用所以在MyThread中需要重写run()函数来处理这个线程需要做的事#ifndef MYTHREAD_H#define MYTHREAD_H#include <QThread>//头文件原创 2021-02-28 10:46:01 · 220 阅读 · 0 评论 -
QT实现UDP
UDP并没有服务器/客户端一说(都是客户端),发送信息只需要将IP/端口输入就可以发送所以只有一个套接字。实现效果:UDPUDP.h#ifndef UDP0612_H#define UDP0612_H#include <QMainWindow>#include <QUdpSocket>#include <QHostAddress>#include <QMessageBox>namespace Ui {class UDP0612;原创 2021-02-27 11:03:41 · 936 阅读 · 0 评论 -
QT实现TCP
在QT环境下实现TCP通信客户端输入 IP 和 端口号,连接服务器连接成功后,服务器显示客户端基础信息(IP,端口号)在输入框输入信息,发送后即可进行通信。显示框消息不覆盖,输入框发送后清空。实现效果:除ui设计外,代码如下:TCP_ClientTCP_Client.h#ifndef TCP_CLIENT_H#define TCP_CLIENT_H#include <QMainWindow>#include <QTcpSocket>//客户端头文件#inc原创 2021-02-27 10:52:16 · 180 阅读 · 0 评论 -
C++C8
强制类型转换C语言中的类型转换隐式类型转换:int myMax(int a,int b){ };调用:myMax(1,’A‘);强制类型转换(显式类型转换):int *p = (int *)malloc(…)typename1 a = (typename2)b;C++里面提供一组可以在不同场合使用的强制转换(本质就是类模板)static_cast(exp)reinterpret_castdynamic_cast//动态的const_caststatic_cast(exp)1.用于原创 2021-01-31 23:15:41 · 219 阅读 · 0 评论 -
C++C7-模板
模板的概念 所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。 C++提供两种模板机制:函数模板、类模板函数模板 template<模板参数列表> <函数返回类型> 函数名(<函数参数列表>) 1、template模板声明 2、<模板参数>可以有一个,也可以有多个,逗号隔开 3、<函数返回类型> 一种就是模板参数 一种就是普通函数 4、&原创 2021-01-30 20:39:30 · 139 阅读 · 0 评论 -
C++ Class6-虚函数-虚析构-多态-纯虚函数-抽象类-静态联编和动态联编-多态小练习(英雄联盟)
类型兼容性原则-重写重写:发生在继承关系,父类和子类都有相同的函数原型(成员覆盖)重载:同名不同作用(重载的函数原型是不用)相同点:名字相同虚函数语法: virtual<类型> 成员函数(<参数列表>)必须是基类中成员函数,且当基类的某个成员函数定义为虚函数的时候他所有的派生类中与基类虚函数相同(函数原型相同)的函数都是虚函数基类中声明过virtual,派生类中不需要再声明(不用再加virtual)*通常情况下,基类的某个成员函数被定义为虚函数时,要在派生类中对他重原创 2021-01-29 21:00:27 · 234 阅读 · 0 评论 -
C++ C5 -运算符重载-单目(前置,后置)-双目-实现字符串类各种运算符重载
运算符重载 运算符:单目/双目/三目 注意: 1.不能改变优先级,结合性 2.不能改变所需要的操作数 3.不能创建新的运算符单目运算符 单目运算符:++ --(分为前置和后置)前置运算符: 运算符重载本质是一个成员函数; 成员函数方法: <返回值> operator<运算符>(<参数列表>) CPoint operator ++( ); 友元函数 friend <返回值> operato原创 2021-01-26 19:30:46 · 706 阅读 · 0 评论 -
C++ C4 -继承和派生-继承中的构造与析构-派生类中的static关键字-多继承
继承和派生继承可以用来干什么:可以在已有的类的基础上添加新的变量;可以在已有的类的基础上添加新的功能(函数);可以修改类的方法(不常用)::例如车是父类,衍生出汽车 大巴车两个子类;在父类中有一个开车的方法;但是对于两个字类来讲,开车的方法不同。所以会设计方法的重写(修改类的方法);什么时候用继承?创建一个新类时,这个类和现有的类相似(只是多出一些变量或函数的时候)例如:同样是车的例子,我先有一个车的类,然后要定义一个轿车的类,发现轿车和车有相似(都是四个轮子,都是用方向盘的等等)当你创建多原创 2021-01-23 20:49:08 · 159 阅读 · 0 评论 -
C++ C3 -深拷贝与浅拷贝-new和delete-初始化成员列表-构造中调用构造-静态static-this指针-友元-const
一、深拷贝与浅拷贝浅拷贝:没有自己写拷贝构造函数,导致程序出现要拷贝的时候调用了默认的拷贝构造函数,在普通的变量上不会有什么影响但是对于指针而言,会造成野指针现象。默认拷贝构造函数,只是单一的复制,在普通变量上就是把数值复制过来,这不会有什么问题,但是涉及到指针,默认拷贝构造函数做的也是仅仅将指针地址复制过来。这就出现问题了,我们希望的是:一开始有一个对象A,然后对象B要来做拷贝。B对象应该重新开辟一块空间存储对象A的那个指针所指向地址中存的数据。但是默认拷贝构造必不会重新开辟空间,仅仅是将B的指针指向原创 2021-01-22 16:53:57 · 258 阅读 · 0 评论 -
C++ C2-封装-class与struct-构造函数与析构函数-拷贝构造函数-函数重载-内联函数
一、面向对象和面向过程C1中略有讲述面向过程(思想):以什么正在发生为目标(强调的是算法)缺点:不容易维护,灵活性差,不容易扩展,不能复用;面向对象:以什么正在受影响为目标(建模)耦合度:模块与模块存在的联系(越低越好) 多态复用性高,耦合度低二、封装封装:把数据和函数合成一个属性对于封装个人理解就是:一个程序是一辆车,当你需要加装尾翼,到4S店买的尾翼就是一个封装好的零部件。和车并没有太大关系,但也不是完全没有,因为需要“螺丝的位置”是车决定的。封装中的两个部分:成员变量(数据也叫属性原创 2021-01-20 16:17:41 · 338 阅读 · 0 评论 -
C++ C1 -namespace-using-域解析符-const-引用
一、编程语言的演变汇编(低级语言)->Fortran(formula translation)(第一个高级语言)1957年->B ->C语言(Dennis Ritchie 丹尼斯里奇)创造-》C++/java/。。。C语言诞生于贝尔实验室(贝尔实验室的悲酸历史https://baike.baidu.com/item/贝尔实验室/686816?fr=aladdin::AT&T->朗讯->诺基亚)UNIX (Linux前身):https://baike.baidu.c原创 2021-01-18 14:33:29 · 258 阅读 · 0 评论