自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++】模板初阶和STL简介

class 类模板名//类内成员定义//类模板public:_size = 0;//扩容++_szie;模板不建议声明和定义分离到两个文件.h 和 .cpp,因为会出现链接错误·

2025-02-23 11:27:04 712

原创 【C++】类和对象(5)

内部类是⼀个独⽴的类,跟定义在全局相⽐,他只是受外部类类域限制和访问限定符限制,所以外部类定义的对象中不包含内部类,内部类默认是外部类的友元类,内部类本质也是⼀种封装,当A类跟B类紧密关联,A类实现出来主要就是给B类使⽤,那么可以考虑把A类设计为B的内部类,如果放到private/protected位置,那么A类就是B类的专属内部类,其他地⽅都⽤不了。引⽤成员变量,const成员变量,没有默认构造的类类型变量(上面的代码中展现了),必须放在初始化列表位置进⾏初始化,否则会编译报错。

2025-01-31 18:48:10 1804 4

原创 【C++】类和对象(4) —— 类的默认成员函数(下)

在之前我们已经学习了六个主要的默认成员函数的前三个(),那么接下来将继续为大家介绍类的默认成员函数的后三个。

2025-01-28 07:07:56 2082 2

原创 【C++】类和对象(3)—— 类的默认成员函数(上)

拷贝构造函数是一个特殊的构造函数,当一个构造函数的第一个参数是自身类类型的引用,且任何额外的参数都有默认值,那么这个构造函数就叫做拷贝构造函数。简单的来说,构造想表达的意思是初始化,而拷贝构造是想拿自己这个类型去初始化自己。1、拷⻉构造函数是构造函数的⼀个重载。2. 拷⻉构造函数的第⼀个参数必须是类类型对象的引⽤,使⽤传值⽅式编译器直接报错,因为语法逻辑上会引发⽆穷递归调⽤。拷⻉构造函数也可以多个参数,但是第⼀个参数必须是类类型对象的引⽤,后⾯的参数必须有缺省值。class Date。

2025-01-21 17:31:46 942 1

原创 【C++】类和对象(2)—— 入门阶段C++和C语⾔实现Stack对比

C++是面向对象程序设计语言,面向对象三大特性:封装、继承、多态,下面我们用已经学过的C++基础知识实现Stack,来对比C和C++实现Stack的区别,初步了解一下封装。

2025-01-18 18:04:01 317

原创 【C++】类和对象(1)

在C++中,我们引入了类的概念,类是C++中面向对象编程的核心概念之一。类是一种用户定义的数据类型,用于描述一组具有相同特性和行为(属性与方法)的对象。类封装了数据(属性)和操作数据的方法(函数),提供了一种组织和封装代码的方式,使得代码更加模块化和可重用。C++中的类和C语言中的结构体类似,C语言中的结构体不能有函数,但是C++的类中可以包含函数,类中的函数称为类的方法或者成员函数。//成员方法public://...private://成员变量//分号不能省略。

2025-01-17 19:33:36 3152 5

原创 C++基础(2)——引用

引用是给已存在的变量取别名,同时编译器不会为引用变量开辟内存空间。引用就类似于给一个人取外号。在C++中,引用和C语言的取地址用了同一个符号。类型& 引用别名 = 引用对象int main()int a = 0;//b和c都相当于a的别名int& b = a;int& c = a;//d相当于b的别名,d还是a的别名int& d = b;在上面的代码中,b是a的引用,它们共用一块地址。引用并不会单独开辟空间。

2025-01-16 07:38:21 905

原创 C++基础(1)——命名空间、输入&输出、缺省参数、函数重载

定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。int main()//这里指定xyz命名空间中的randreturn 0;这里的::是域作用限定符,在::前面加需要访问的命名空间的名字。namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以上面代码中的rand不会再冲突。C++中域有函数局部域,全局域,命名空间域,类域;

2025-01-14 01:15:02 684

原创 【数据结构】—— 栈和队列

/a是指向数组的指针//空间大小int tpo;//栈顶表示}ST;

2025-01-13 22:49:07 997 1

原创 【数据结构】—— 双向链表(超详细)

带头双向循环链表简称双向链表,是链表结构的一种,其结构如下图所示:我们可以看到,双向链表与单链表不同的是双向链表的第一个节点之前有一个head节点,这个就是头节点,同时双向链表每个节点有两个指针,一个指向前一个节点(prev),一个指向后一个节点(next),它可以从头到尾,也可以从尾到头双向遍历,所以它是循环的,这大大增加了双向链表的灵活性。双向链表的节点也是结构体结构,别忘了双向链表每个节点有prev和next两个指针注意双向链表头结点不存储有效数据//定义节点结构//指向下一节点的指针。

2025-01-10 06:13:45 1121 1

原创 数据结构 —— 单链表(超超超详细!!!)

在学完顺序表之后,我们认识到顺序表存在一些缺点,顺序表在中间或者头部进行元素插入或者删除的时候需要移动数据,时间复杂度是0(N),它的效率比较低,同时顺序表增容需要申请空间,拷贝数据,释放旧空间。会有不小的消耗,并且会出现扩容扩大了空间用不完浪费的情况,为了解决这些问题,从而引入了链表这一数据结构。链表也是线性表的一种,链表是一种线性数据结构,由多个节点组成,每个节点包含数据域和指针域。数据域用于存储数据元素,而指针域则存放指向下一个节点的指针。

2025-01-09 11:21:05 892 1

原创 数据结构——顺序表总结(详细)

线性表是数据结构的一种,一个线性表是n个具有相同特性的元素的有限序列。数据元素是一个抽象的符号,其具体含义在不同的情况下一般不同。常见的线性表:顺序表、链表、栈、队列等。线性表在逻辑上是线性结构但在物理上不一定是连续的。//定长数组int size;//顺序表当前有效的数据个数int* arr;//动态内存开辟,确定大小之后再去动态申请int size;//有效的数据个数//空间大小动态顺序表和静态顺序表相比,更加灵活。

2025-01-04 19:53:28 1015

原创 顺序表(二)

【代码】顺序表(二)

2025-01-04 17:25:20 185

原创 顺序表(一)

/定长数组int size;//顺序表当前有效的数据个数int* arr;//动态内存开辟,确定大小之后再去动态申请int size;//有效的数据个数//空间大小动态顺序表和静态顺序表相比,更加灵活,方便随时改变其空间大小,从而方便对其结构进行增删查改所以接下来的所有操作都是基于动态顺序表。

2025-01-04 12:45:31 517

原创 C++基础(命名空间和输入输出)

定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。int main()//这里指定xyz命名空间中的randreturn 0;这里的::是域作用限定符,在::前面加需要访问的命名空间的名字。namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以上面代码中的rand不会再冲突。C++中域有函数局部域,全局域,命名空间域,类域;

2024-10-14 23:03:18 610

原创 初识指针变量

指针变量

2024-10-11 22:59:08 191 1

空空如也

空空如也

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

TA关注的人

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