自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL之——正则表达式

regexp操作符,regexp操作符后面跟着的就是正则表达式,正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较。

2023-12-10 22:41:08 112

原创 MySQL之——子查询

子查询就是嵌套在其他SQL语句内的查询语句,且必须出现在圆括号内(查询一般指select语句).子查询的结果可以作为外层查询的过滤条件或计算字段(聚合函数)。

2023-12-10 21:57:58 81

原创 MySQL之——连接查询

多表链接查询就是从多个表中获取数据,若两张表进行连接查询的时候,没有任何条件限制,最终查询结果总数是两张表记录的乘积,成为笛卡尔积。

2023-12-10 21:43:51 92

原创 MySQL之——分组查询

关键词:group by作用:根据一个或多个字段对结果集进行分组,在分组的字段上可以使用count,sum,avg等函数关键词:having介绍:having非常类似于where。唯一的差别就是where过滤行,而having过滤分组。having必须和group by一起用。

2023-12-10 21:03:52 122

原创 MySQL之——函数

ifnull(column,value):如果字段column的值为空NULL(注意NULL不是0,是没有),则将字段值替换为value。curdate() / current_date():获取当前日期,YYYY-MM-DD格式。%M:月份名称(january...),为了防止计算结果出现NULL,一般。%e:该月日期(0...31)%y:2位数形式表示年份。

2023-12-10 20:32:27 42

原创 MySQL之——高级查询

关键字:order by:对查询结果按指定字段进行排序desc降序,asc升序(默认)

2023-12-10 18:38:11 17

原创 MySQL之——约束

根据下面提供的表结构和表中数据,使用 SQL 语句创建四个表并插入数据:学生表(student)、课程表(course)、成绩表(score)、教师表(teacher)。外键为表中的某一字段,该字段是另一表的主键值,外键用来在两个表的数据之间建立链接,一个表中可以有一个或多个外键。用于确保特定列或者列组合的唯一性,被约束的列的值在整个表中是唯一的,唯一约束默认允许空值(null),因此多个空值不违反唯一约束。例如从1开始,插入了三个则id会变成3,如果第四个插入的id设置为6,则下一个自增从6开始。

2023-12-10 18:22:35 24

原创 MySQL之——触发器和视图

创建触发器时需给出的信息触发器名在操作前还是操作后触发(after / before)被什么操作触发(insert / update / delete)

2023-12-10 17:54:58 21

原创 MYSQL之——索引

不重复索引值/总的行数。

2023-12-10 17:39:58 24

原创 MySQL之——表

DDL是数据定义语言还有DML是数据操作语言。下面我们来学习一下如何创建表:注意逗号和分号create table [if not exists] 表名(字段 1 字段类型 [列级约束条件],字段 2 字段类型 [列级约束条件],.....字段 n 字段类型 [列级约束条件]下面我们来创建一个名为"information"的表,表中要包括名字、年龄、联系方式。age int;

2023-11-24 23:41:46 29

原创 MySQL之——基本查询

回顾复习一下,数据库——database、表——table、字段——Column(在表中创建的有特性的数据)查询字段就要先写出是查询中的,说明是还是,也可以。

2023-11-24 23:13:02 32

原创 MySQL之——数据库基本指令

【代码】MySQL之——数据库基本指令。

2023-11-24 22:48:21 31

原创 MySQL简介

MySQL是一个费的关系型数据库,,支持大型企业级应用。具有的性能,并且支持多种编程语言和操作系统,拥有大量的社区支持以及插件。本系列主要介绍MySQL的一些性质以及知识点和相关代码的操作,

2023-11-24 22:18:40 53

原创 QT基础之——自定义信号和槽

学习了信号和槽机制之后,我们这节先来构建一个“顾客-服务员”点餐系统的一个小程序,首先回顾与下connect函数中的参数:(信号发出,信号,槽接收,槽函数)。那么我们这个场景的信号。需要修改代码的文件为。

2023-11-12 18:29:35 155

原创 QT基础之——ui文件以及信号和槽机制

上一节我们讲了除界面文件ui文件其他的所有文件,这一节我们来介绍一下ui文件:在文件目录中我们能看到界面文件这一栏,点击展开我们可以看到一个以".ui"结尾的文件,双击我们会看到如下界面:我们在右侧选中label和PushButton拖入到工作台上的窗口中,并双击输入名字然后点击运行随后就可以看到我们拖拽进去的label和button显示在窗口上了,那么就会有这样一个疑问,在我们点击运行之后,其他文件中的代码没有被改变,那么这是如何实现的呢?

2023-11-12 00:38:31 1269 1

原创 QT基础之——QT概述

pro文件core:表示引入模块,core 包含了QT的一些特性如:信号与槽,用于保护指针(Qpointer)获取对象所有权等gui:该模块包含了窗体系统,事件处理,字体等信号与槽:当我们关闭一个窗口时,这一举动会向信号槽发出一个信号,该信号被信号槽接收之后信号槽会发出指令。.h头文件由图可以看到,当我们在创建类的时候选择的基类就是QMainWindow类,在代码中就体现出来了;而构造函数的关键字"explicit"的作用是防止用"="调用构造函数;

2023-11-11 18:02:36 802

原创 C++基础

以“inline”修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开没有函数压栈的开销,内联函数提升了程序运行的效率。如果一个函数本身就是几十行甚至上百行,那么函数本身执行所需要的时间就会很大,则调用函数,创建栈帧(每一个栈帧都对应着一个未运行完的函数,栈帧中保存了该函数的返回地址以及函数中的局部变量,我们也可以理解为栈帧就是函数运行时所开辟的函数栈)所需的时间可以忽略不计;但若是一个函数本身就一两行运行函数的时间与调用函数本身以及函数返回寻址所需的时间相比可以忽略不计的话。

2023-11-10 22:28:38 844

原创 C++基础之——lambda表达式

值得注意的是lambda表达式本身就是一个函数指针,在比较器中可直接写入。参数列表:和普通的参数列表一样,没有参数可以省略不写。lambda表达式定义了一个匿名函数,语法如下。我们来介绍一下lambda表达式。捕获列表:捕获一定范围内的变量。

2023-11-10 22:28:25 121

原创 C++基础之——单例模式

单例模式也称单件模式,是使用最广泛的设计模式之一,简单说明一下就是。其意图就是保证一个类仅有一个实例,并提供一个。,该实例被所有程序模块共享。饿汉模式可以理解为等不及了,综上所述,单例模式就是。,以便其他地方调用。

2023-11-10 22:10:34 37

原创 C++基础之——异常

exception是所有异常类型的基类,我们可以用exception类型接收所有异常类型,来实现父类指针或引用指向子类对象,从而实现多态。,则会执行catch中的代码;而第二个catch函数中的参数为exception类型的引用,当异常被一个catch接收到之后,下面的catch就不会接收了,下面的代码会正常进行。那么如果我们面临一个项目来说,这个项目中有一个小的功能出错了,如果这个。,这样不管是否有没有异常,下面的代码还是会正常运行。不难看出,数组中有5个元素,当我们。,那么我们可以选择——异常。

2023-11-10 21:46:53 22

原创 C++基础之——模板

值得注意的是我们所实现的栈是基于vector数组来实现的,而模板中的数组中的类型需要显示指定即:stack类中vector<T> vec对应主函数中stack<int> s1。代码中的T的类型与传给函数的参数的类型相同。我们通过一个实现栈来介绍模板类。

2023-11-10 20:51:59 20

原创 C++基础之——内联函数

以“inline”修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开没有函数压栈的开销,内联函数提升了程序运行的效率。如果一个函数本身就是几十行甚至上百行,那么函数本身执行所需要的时间就会很大,则调用函数,创建栈帧(每一个栈帧都对应着一个未运行完的函数,栈帧中保存了该函数的返回地址以及函数中的局部变量,我们也可以理解为栈帧就是函数运行时所开辟的函数栈)所需的时间可以忽略不计;但若是一个函数本身就一两行运行函数的时间与调用函数本身以及函数返回寻址所需的时间相比可以忽略不计的话。

2023-11-10 20:35:47 16

原创 C++基础之——实现String类

创建一个string类通常会在面试中出现,一个string类通常会有头文件:string.h 主函数文件:main.cpp string文件:string.cpp。

2023-11-10 18:59:03 27

原创 C++基础之——运算符重载

C++运算符重载实质上就是函数重载,运算符重载实质上是C++的一种多态,叫做静态多态,先前我们学到的动态多态是父类指针指向子类对象(也就是在编译时才能确定的动态多态),而静态多态是在编译之前就已经确定的。目的是为了让我们使用同名的函数来完成不同的操作。,但是对于我们自定义的类型却不能直接使用运算符,但是在以特殊情况下我们会遇到要使用运算符实现自定义类型之间的运算,那么我们就要用到——我们知道C++的运算符例如:‘+’、‘-’、‘ * ’、‘ / ’等都是仅限于基本的。

2023-10-12 22:37:19 34

原创 C++基础之——拷贝构造函数

返回值是以值的形式返回时,在函数调用部分如果有对象接收会通过拷贝构造传递给对象,如果没有对象接收 也会拷贝一个匿名对象,但是这个匿名对象只存在于当前行。如果对象中含有指针类型的成员变量,则需要用到深拷贝构造,否则前拷贝构造。如果在拷贝构造函数前加入一个关键字explicit则不能使用隐式调用。拷贝构造的参数需要引用,因为如果不是引用会陷入拷贝构造的循环中。对象作为函数参数,以值的传递方式传给函数。

2023-10-07 10:48:22 28

原创 C++基础之——常成员函数

格式:返回值 函数名(形参表) const {函数体} 例如:void fun(int a) const { }在实现只读作用的函数中,可以防止程序员不小心修改了成员变量的值。

2023-10-07 10:47:46 685

原创 C++基础之——友元

类的友元是定义在类外部,但有权访问类的所有私有成员,友元可以是一个函数,该函数被称为友元函数,友元也可以是一个类,被称为友元类。声明一个友元只需要在类中定义的类或者函数前加一个关键字friend。友元形成的过程:任何函数,成员函数或者类想成为某个类的友元,是这个类来决定的(在变量前加关键字friend),而不是从外部强加友元。为了使其它类的成员函数直接访问该类的私有变量。即:允许外面的类或者函数去访问类的私有变量和保护变量,从而使两个类共享同一函数或者变量。缺点:友元函数破坏了封装机制,尽量不使用。

2023-10-05 23:39:37 44

原创 C++基础之——静态成员变量&&静态成员函数

与静态变量相似,静态成员变量只能初始化一次,都在内存分区中的全局数据区分配内存,到程序结束时才释放。这就意味着,static成员变量不随对象的创建而分配内存,也不随对象的销毁而释放内存。而普通成员变量在对象创建时分配内存,在对象销毁时释放内存。全局数据区的变量都有默认的初始值0,而堆区、栈区变量的默认值是不确定的,系统会给这个变量自动赋一个随机的值。在定义类中的成员变量时,如果我们想保持这个成员的独立性,我们可以用static关键字将其定义为静态的,这就意味着不论创建多少个成员变量,该静态成员只有一个。

2023-10-05 23:39:04 37

原创 C++基础之——初始化参数列表

C++的初始化参数列表是指在类的构造函数中使用冒号(:)后面跟着的一系列参数。它用于在创建对象时对成员变量进行初始化。

2023-10-05 23:38:33 510

原创 C++基础之——纯虚函数与抽象类

【代码】C++基础之——纯虚函数与抽象类。

2023-10-01 12:36:33 31

原创 C++基础之——虚析构

虚析构函数就是对虚构函数的析构,可以重写,编译器为了让析构函数实现多态,会将他们的名字处理为destructor,这样就可以构成多态。

2023-10-01 12:36:02 32

原创 C++基础之——初始化参数列表

只能在构造函数里使用该语法,可以给所有成员设置初始化参数,const类型和引用类型必须在初始化参数列表中初始化。成员的构造顺序和在初始化参数列表中的顺序无关,与类中声明顺序有关。

2023-10-01 12:35:31 32

原创 C++基础之——多态

多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。C++多态意味着调用成员函数时,会根据调用函数对象的类型来执行不同的函数。为了实现C++的多态,C++使用了一种动态绑定的技术。这个技术核心就是虚函数表。下面介绍虚函数表是如何实现动态绑定的。启动动态多态的条件:有继承关系,子类重写父类虚函数并且父类指针调用子类重写的虚函数。

2023-10-01 12:34:46 15

原创 C++基础之——函数重写(覆盖)&&隐藏

隐藏与重写区别:在子类和父类中,函数名相同,参数相同,父类中的同名函数没有virtual为关键字,为隐藏。定义:子类重新定义父类中有相同名称,返回值和参数的虚函数,主要在继承关系中出现。定义:在子类中只要和父类函数名字相同,不是重写就是函数隐藏。

2023-10-01 12:33:53 48

原创 C++基础之——多继承

一个类可以继承自多个父类,它可以从多个基类继承数据和函数。

2023-10-01 12:33:13 23

原创 C++基础之——比较器

【代码】C++基础之——比较器。

2023-10-01 12:32:40 216

原创 C++基础之——优先级队列

【代码】C++基础之——优先级队列。

2023-10-01 12:31:54 18

原创 C++基础之——new&&delete

一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this的作用域是在类的内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。this是指相当前对象的指针,哪个对象调用包含this指针的函数,this指向哪个对象。this一般在构造函数中使用,用来区分成员变量和参数。

2023-10-01 12:31:18 19

原创 C++基础之——析构函数

析构函数是作用于对象销毁工作,清空对象内部指针指向的堆区内存。析构函数是在释放对象的时候自动调用,栈区对象自动释放。

2023-10-01 12:29:56 22

原创 C++基础之——构造函数

c++利用构造函数实现了对象所占内存的赋值。对象初始化时强制执行构造函数,如果我们没有自己实现构造函数,编译器将会提供默认的构造函数。

2023-10-01 12:29:07 21

空空如也

空空如也

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

TA关注的人

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