自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt界面编程02

8、mainwindow.cpp文件中包含ui_mainwindow.h文件,然后在MainWindow类的构造函数中,在参数列表中使用new创建Ui::MainWindow *ui对象,然后在构造函数的内部调用了 ui->setupUi(this)函数。3、项目中的ui设计师(w),使用Qt Designer软件打开并创建ui文件,进行界面设计,ui设计师会把设计好的ui文件交给程序员使用,程序员可以使用uic命令把ui文件翻译成.h文件在项目中使用。

2024-09-29 14:26:14 514

原创 Qt界面编程01

Qt是跨平台 C++图形用户界面应用程序开发框架。主要用于开发GUI程序,它是面向对象的框架,使用C++语言封装的一些类库。包:提供原码,供程序使用的现有代码,里面只提供一些简单功能、算法。库:只提供一些头文件,源码已经被编译成二进制的xxx.so、xxx.a的文件,针对某类的功能提供了一套可供程序调用的函数、类。框架:几乎所有的需要、功能,它都自己一整套的解决方案。1、Qt的类名就是类的头文件名字2、QApplication类对象负责给Qt界面程序构建一个运行环境。

2024-09-29 14:25:15 929

原创 标准C++(七)

从宏观角度来说,异常处理就是当程序执行过程中出现了错误,以及对错误的处理方案。

2024-09-21 17:34:46 554

原创 标准C++(六)

如果父类的构造函数函数设计成虚函数并且被子类覆盖(如果虚函数没有被覆盖就设计的没有意义),当创建子类对象时,先调用父类的虚构造,但此时实际对象是子类对象,根据多态的特性此时会转而执行子类的构造(调用虚函数表中覆盖后的版本),但执行子类构造函数前需要先执行父类构造,这样就形成了死循环,所以构造函数不能设计成虚函数。专用于指针变量的类型转换,主要用于指针与指针的转换,指针与整数的转换,与其它的强制类型转换相比,它的自由度比较高,但也比较危险。cout << "我是Base类的func函数" << endl;

2024-09-21 17:34:07 419

原创 标准C++(五)

1、在解决一个问题之前,先考虑现有的类是否能解决部分问题,如果有则继承该类,在此基础上进行扩展,以缩短解决问题的目的,代码复用。2、在解决一个复杂庞大的问题时,把问题拆分成若干个小问题,每个小问题实现一个类去解决,最后把这若干个类通过继承进行汇总,达到解决问题的目的,这个方式可以降低问题的规模、难度,也方便团队分工、协作。成员有参数构造调用方法:构造函数(...):成员名(参数)​class Aint num;public:A(void)cout << "A的无参构造" << endl;

2024-09-21 17:33:28 428

原创 标准C++(四)

给类对象优先重载成员运算符函数时,必须要在类的内部实现,当无法修改对象的源码时,也就无法在结构、联合、类的内部增加成员运算符函数,又想给类对象增加运行符函数,这种情况只能定义全局的运算符函数,把运算对象都作为参数传递给运算符函数。2、由于cin、cout都在>>、<<运算的左边,如果想实现成员运算符函数,就需要在istream、ostream类中实现,而我们无法增加或修改istream、ostream类的代码,所以只能实现全局的 >>、<< 运算符函数。

2024-09-18 21:47:47 731

原创 标准C++(三)

在成员函数的参数列表的末尾(小括号后面),用const修饰,这种成员就叫常函数。class 类名public:// 常函数返回值 函数名(参数列表) const在定义结构、联合、类对象时,使用const修饰,这种对象就叫常对象。const 类名 对象名;const 类名* 指针变量 = new 类名;是一种特殊构造函数,如果没有显式的实现,编译器就会自动生成。class 类名public:// 拷贝构造类名(const 类名& that)

2024-09-18 21:47:01 671

原创 标准C++(二)

在C语言中定义的全局变量、函数、结构、联合、枚举、枚举值、宏都在全局作用域下,所以当项目比较庞大时,非常容易造成命名冲突(以模块名作前缀、后缀),所以C++中选择把全局作用域进行拆分成子作用域进行管理,这些子作用域就是作名字空间。把抽象结果(利用面向对象的思维模式,思考、观察出的结果),使用用C++的语法封装出一种类似结构的自定义数据类型(复合数据类型)。使用设计好的类(结构)这种数据类型,定义出的类变量在面向对象编程语言中被称为对象(结构变量),创建类对象的行为也被称为实例化对象。int id;

2024-09-18 21:46:14 949

原创 标准C++

引用是一种取名机制,它可以给变量重新取一新的名字,所以引用也叫别名。

2024-09-18 21:45:31 921

原创 高级c语言(八)

define 宏名 会被替换的内容由于宏常量和宏表达式可能使用在表达式中,因此在定义宏常量和宏表达式的末尾不要加分号。一般宏名全部大写以作区分(局部变量全部小写,全局变量首字母大写,循环变量i、j、k、函数名全部小写+下划线、数组arr、字符串str、指针p)__FILE__ 获取当前文件名__func__ 获取当前函数名__LINE__ 获取当前行号__DATE__ 获取当前日期__TIME__ 获取当前时间__WORDSIZE 获取当前编译器的位数// 适合用来显示警告、错误信息。

2024-09-15 22:06:12 894

原创 高级c语言(七)

define 宏名 会被替换的内容由于宏常量和宏表达式可能使用在表达式中,因此在定义宏常量和宏表达式的末尾不要加分号。一般宏名全部大写以作区分(局部变量全部小写,全局变量首字母大写,循环变量i、j、k、函数名全部小写+下划线、数组arr、字符串str、指针p)__FILE__ 获取当前文件名__func__ 获取当前函数名__LINE__ 获取当前行号__DATE__ 获取当前日期__TIME__ 获取当前时间__WORDSIZE 获取当前编译器的位数// 适合用来显示警告、错误信息。

2024-09-15 22:05:40 1153

原创 高级c语言(六)

​for(;;sleep(1);sec++;​字符就是符号或图案,但在计算机中以整数形式存在,当需要显示时,会根据ASCII表中的对应关系显示出相应的符号或图案。在C语言中使用char类型的变量存储字符的ASCII码值,也就是使用整数进行模拟字符,标准的ASCII码表的范围是:0~127,共128个字符,其他的语种,使用-128~-1进行设计字符编码,比如中文的汉字,使用的是2~3字节存储一个汉字。

2024-09-15 22:05:05 1222

原创 高级c语言(五)

​for(;;sleep(1);sec++;​字符就是符号或图案,但在计算机中以整数形式存在,当需要显示时,会根据ASCII表中的对应关系显示出相应的符号或图案。在C语言中使用char类型的变量存储字符的ASCII码值,也就是使用整数进行模拟字符,标准的ASCII码表的范围是:0~127,共128个字符,其他的语种,使用-128~-1进行设计字符编码,比如中文的汉字,使用的是2~3字节存储一个汉字。

2024-09-15 22:04:30 1165

原创 高级c语言(四)

是进程的一个内存段(text、data、bss、heap、stack),由程序员手动管理特点就是足够大,缺点就是使用麻烦,比较危险。使用堆内存只需要掌握malloc和free函数即可,对于calloc和realloc函数了解即可。操作系统交给malloc33页内存(135168个字节),可访问的范围是0~135167,malloc会预留8个字节的空隙,返回给程序的是33页内存的第9个字节的地址(33页内存还剩135160个字节),所以可访问的范围是0~135159,只要在这个范围就不会出现段错误。

2024-09-14 22:40:49 763

原创 高级c语言(三)

一级指针存储的是普通变量的内存地址,二级指针存储的是指针变量内存地址。类型* 一级指针;类型** 二级指针;注意:二级指针在使用方法上与一级指针有不同,所以一般以pp结尾,让使用者从变量名上就能区别一级指针与二级指针。由指针变量构成的数组,也可以说它的身份是数组,成员是指针变量。类型* 数组名[n];就相当于定义了n个类型相同的指针变量。// 相当于定义了10个int*的指针变量// 10个野指针// 全部初始化为NULL专门指向数组的指针变量,它的进步值是整个数组的字节数。

2024-09-14 22:40:17 1299

原创 高级c语言(二)

1、指针(pointer)是一种特殊的数据类型,使用它可以用于定义指针变量,简称指针2、指针变量中存储的是内存的地址,是一种无符号的整数类型,3、通过指针变量中记录的内存地址,我们可以读取对应的内存中所存储的数据、也可以向该内存写入数据4、可以通过 %p 显示指针变量中存储的地址编号类型* 指针变量名;int num;char n;double d;int* nump;// 访问4字节char* p;// 访问1字节// 访问8字节long* lp;// 访问4/8字节。

2024-09-14 22:39:41 1083

原创 高级c语言(一)

全局变量尽量少用,或者不用。

2024-09-12 18:15:08 1162

原创 标准c语言(二)

函数就是一段具有某一项功能的代码集合,它是C语言中管理代码的最小单位,把具有某项功能的若干行代码封装在函数中方便管理代码且方便重复调用。为了更方便的管理、调用代码,降低开发难度,程序员自己封装的一些函数。标准库中除上封装了函数,还提供一些头文件,里面是对函数的说明。有两情况适合把代码封装成自定义函数: ​ 1、代码量过多,一般代码量超过50行就要考虑封装成函数,方便管理代码,提高代码的安全性(程序员平均每50行会出现一个BUG)。

2024-09-12 18:14:26 1084

原创 标准c语言(一)

不同类型的数据组成的表达式,编译器会把先它们转换成相同的类型再计算,这叫作自动类型类型或隐式类型转换,它们的转换规则是以不丢失数据为前提:在C语言中,当不同的基本类型组成表达式时,会发生自动类型转换。代码的默认执行流程是从上到下,逐步、逐条执行的,if语句可以根据判断条件选择让代码是否执行,改变了代码 的默认执行流程,所以这种语句也叫流程控制语句。前提:只有相同类型的数据才能在一起进行运算,因为不同类型的数据,字节数不同、格式、运算规则不同,必须把不同类型的数据转换成同一类型才能运算。

2024-09-12 18:13:54 1231

原创 数据结构--排序

排序的功能是将数据元素的任意序列,重新排列成按照关键字有序的序列它之所以重要是因为查找操作很重要,而有序的顺序表可以采用效率较高的二分查找(O(logN)),而无序的查找只能顺序查找(O(N)),而创建的二叉搜索树、平衡二叉树、堆的过程其实就是一个排序过程。

2024-09-11 20:36:57 694

原创 数据结构-查找算法

对特定问题的求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。在一个数据序列中,查找某个数据是否存在或存在的位置,在实际开发过程中使用的频率非常高,例如对数据常见的操作有增、删、改、查,增加数据时需要查询新增加的数据是否重复,删除数据时需要先查询到数据所在位置再删除,修改数据时也需要先查询到被修改的数据在什么位置,查找算法在编程中重要性排列在第一位。

2024-09-11 20:23:27 368

原创 数据结构——图

图是一种比较复杂的数据结构,在线性表中数据元素之间仅有线性关系,每个元素只有一个直接前驱和直接后继(元素之间只存在一对一关系),在树形结构中元素之间有着明显的层次关系,每一层的元素只能和下层的多个元素有关系(元素之间存在一对多关系),而在图形结构中,任意两个结点之间都可能有关系(元素之间存在多对多关系)。图中的数据元素被称为顶点,一般使用V表示图的顶点的有穷非空集合。两个顶点之间的关系记作<v,w>,表示能从顶点v到达顶点w,也就是v能到w,但w不一定能到v,我们称v为弧尾或初始点,称w为弧头或终端点。

2024-09-10 10:38:38 362

原创 数据结构—特殊二叉树

大顶堆(大根堆):根节点的值比左右子树都大,同时左右子树都满足该规则小顶堆(小根堆):根节点的值比左右子树都小,同时左右子树都满足该规则堆结构是一种特殊的完全二叉树,它与堆内存是两种概念堆结构的根节点一定是整棵树中的最大值、最小值。

2024-09-10 09:35:44 488

原创 数据结构-树(一)

树型结构是一种非线性的数据结构,它具有一个称为根节点(root node)的特殊节点,以及一些称为子节点(child nodes)的节点。每个节点可以有零个或多个子节点,但只能有一个父节点(parent node),除了根节点没有父节点。在树型结构中,节点之间的连接关系表示了它们之间的层次关系。树型结构常用于表示具有层次关系的数据,例如文件系统、组织结构、目录结构等。它提供了一种便捷的方式来组织和访问数据。

2024-09-09 20:17:30 715

原创 队列结构的简介

与栈结构相似的是,也只允许在端口处进行添加、删除操作,但是有两个端口,一个负责添加数据,称为入队,该端口称为队尾,另一个端口只负责删除数据,称为出队,该端口称为队头,属于一种先进先出结构,称为FIFO。

2024-09-09 10:24:43 652

原创 栈结构的简介

内存管理,例如栈内存,之所以叫栈内存因为它遵循栈的先进后出原则,函数调用、函数参数的传参、定义,先把数据入栈,等结束时,逆序出栈,函数的调用、结束跳转也是遵循栈结构原则。栈(stack)是限定在表尾进行数据的插入、删除等操作的线性表(只允许操作一个端口的数据)top初值:cap top-- 再入栈 满减栈。// 因为栈不允许随意操作插入、删除操作,因此不需要头节点。// 栈非空,且栈顶值等于b中要出栈的值 则出栈。size_t top;// 判断栈是否空,如果空,则是正确顺序。

2024-09-09 10:23:39 451

原创 数据结构-线性表

在数据元素存在非空有限集中:存在唯一的一个被称为“第一个”的数据元素存在唯一的一个被称为“最后一个”的数据元素除了第一个外,集合中每个数据元素都只有一个前趋元素除了最后一个外,集合中每个数据元素都只有一个后继元素。

2024-08-17 16:58:38 477

原创 数据结构——绪论

数据结构不是研究数值计算的这些是数学家应该研究的问题,它是研究计算机存储、组织数据的方式问题的学科,数据结构会影响算法的效率,合适的数据结构可以带来更高的运行或存储效率。1968年,美国的高纳德(Donald E. Knuth)教授《基本算法》,开创了数据结构课程体系的先河。程序设计 = 数据结构 + 算法凭借一句话获得图灵奖的Pascal之父——Nicklaus Wirth,让他获得图灵奖的这句话就是他提出的著名公式:“算法+数据结构=程序”。

2024-08-01 19:46:09 238

空空如也

空空如也

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

TA关注的人

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