自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++多态

多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如student继承了Person。Person对象全价买票,student对象半价买票。在继承中要构成多态还有两个条件:1.必须通过基类的指针或者引用调用虚函数。2.被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写。

2024-04-26 19:59:07 381 1

原创 C++三大特性(1)——继承

1.基类的private成员无论以什么方式继承,在派生类中都是不可见的,这里的不可见是指基类的私有成员虽然被继承到了派生类对象中,但是语法上限制派生类对象不管在类里面还是类外面都不能去访问它。2.基类的private成员在派生类中是不能被访问的,如果基类成员不想在类外直接被访问,但需要在派生类中能访问,就需要定义为protected,由此可以看出,protected限定符是因继承才出现的。

2024-04-12 21:10:12 812

原创 Linux入门常见指令

语法:s [选项功能:想查看当前目录的所有子文件与文件夹,直接输入ls然后回车即可,但是ls可以尾接许多选项例如: ls -a,这个是显示当前目录的所有文件,包括隐藏文件诸如此类的常用的有:-a列出目录下的所有文件,包括以 . 开头的隐含文件-d将目录象文件一样显示,而不是显示其下的文件。如:ls –d 指定目录-i输出文件的 i 节点的索引信息。如 ls –ai 指定文件-k以 k 字节的形式表示文件的大小。ls –alk 指定文件-l列出文件的详细信息-n。

2024-04-11 16:40:48 846

原创 C++模板进阶

一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。例如,在之前的STL容器模拟实现的时候,大家就很喜欢在.h头文件中写代码,如何在.cpp源文件中直接测试即可优点1.模板服用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生2.增强了代码的灵活性缺点1.模板会导致代码膨胀问题,也会导致编译时间变长2.出现模板编译错误时,错误信息非常凌乱,不易定位错误。

2024-03-30 17:40:24 783 1

原创 C++ stack和queue

queue是平常所说的队列,队列就像平常排队吃饭一样,先到的就有饭吃,只能从一端进,另一端出,也就是先入队的先出队,后入队的后出队。

2024-03-21 15:47:52 423 1

原创 C++ list模拟实现

/迭代器类//指向结点的指针:_node(n){}return tmp;return tmp;= s._node;= s._node;

2024-03-17 13:32:33 913 1

原创 C++ vector模拟实现

在完成了string类模拟后,我们已经了解了许多函数的用法,那么vector的函数用法与string有很多相似的地方。

2024-03-10 21:12:19 843 1

原创 C++ 模拟实现string类

在上一篇中,我们已经初步了解了string类的各种函数。接下来我们就开始模拟实现这些函数吧需要注意的是,由于在标准库中已经有了string类,所以我们在模拟实现string类时需要使用自己命名的空间,例如namespace bear等在一个string类对象种,除了有str字符,还需要有目前字符串的有效长度size与目前的字符串容量capacity,为了区分原来的标准库,我们都在前面加上_来区别。

2024-03-03 14:56:35 680

原创 C++ STL库——Sring类

C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。

2024-02-15 17:00:15 813 2

原创 C++内存管理

class Testpublic:Test() //构造函数:_a(0)cout

2023-12-07 12:21:45 924 6

原创 c++类与对象(三)收尾

在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。虽然上述构造函数调用之后,对象中已经有了一个初始值,但是不能将其称为对对象中成员变量的初始化,构造哦函数体中的语句只能将其称为赋初值,而不能称作初始化,因为初始化只能初始化一次,而构造函数体内可以多次赋值初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,而每个成员变量后面跟一个放在括号中的初始值或表达式。注意:1.每个成员变量在初始化列表中只能出现一次(因为初始化只能初始化一次)2.类中包含以下成员,必须放

2023-12-02 15:16:47 1130 5

原创 c++类与对象(二) 类的六大默认成员函数及其日期类实现

本章我们来学习六个默认成员函数,随后通过学习的内容来模拟实现一个日期类。如果一个类中什么成员都没有,简称为空类。空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。

2023-11-29 15:25:49 981 4

原创 c++类与对象(一)

的。

2023-11-15 23:29:20 142 5

原创 c语言实现八大排序

思想:也是定义左指针left与右指针right,key对应的下标为piti,然后将左边第一个元素放到key里面,然后此时左边就有了坑,然后右边开始往前走,遇到比key小的,则与key交换,那么此时右指针的地方则变成新坑,然后左边走,左边遇到比key大的数则交换,然后左边变成新坑,以此类推,当相遇时停止,然后将key放进相遇的坑位,然后分割成两个左右数组,左数组为[0,piti-1],而右数组为[piti+1,n-1],然后就是一样的对左右数组进行重新排序,不断地递归。

2023-11-07 18:24:14 206 4

原创 二叉树的链式结构实现以及前序,中序,后序遍历

二叉树可以由数组实现也可以由链表实现,数组的实现在堆排序重已经大致了解,现在可以使用链表来完成只需要创建一个结构体,用来存放节点数据已经左子树的地址和右子树的地址即可代码如下: 在上述代码中,创建出的二叉树由下图所示:二叉树的前序,中序,后序遍历通常使用递归方式进行,而前中后对应如下:前序:先访问树的根节点,再访问左子树,最后访问右子树中序:先访问左子树,再访问数的根节点,最后访问右子树后序:先访问左子树,再访问右子树,最后访问树的根节点可以发现,前中后对应的是根节点的访问的先后顺序那么和递归有什么

2023-10-24 12:58:49 106 2

原创 堆的创建以及堆排序(向上排序算法,向下排序算法)

注意,假设目前是一个小根堆,假如要移除堆顶的数据会破坏堆的特性,失去了一个根节点,会变得非常复杂,所以我们这里并不是简单的移除堆顶的数据,我们可以先临时将堆尾的数据与要删除的堆顶数据交换,然后再将交换后的堆尾(原堆顶)的数据删除,然后再将堆顶的数据(原堆尾)使用向下排序法进行调整即可。如上图:假设为小根堆,现在插入了一个数据10,将它与它的父亲节点比较,假如比父亲节点小,则将它们俩的位置交换,然后再将交换后的数据再与父亲节点比较,以此类推。,所以我们每插入一个数据都需要使用到向上排序算法,来满足堆的特性。

2023-10-17 21:32:43 194

原创 C语言实现栈和队列

在main函数的teststack函数中,我们插入了123456六个元素,然后循环打印,每打印一次然后再将栈顶的元素取出,最后打印完成再回收空间,代码运行结果如下。在main函数中的test函数中,我们插入了123456六个元素,然后循环打印,每打印一次然后再将队头的元素取出并销毁,代码运行结果如下。首先,先将基本的栈实现函数列举出来,并定义一个可动态增长的数组来模拟存放栈(后续需要使用到向系统申请空间的知识)队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出。

2023-10-14 15:03:31 158

原创 C语言实现单链表及其打印

(比如第一个空间地址是A,第二个是B,第三个是C,第四个是D,那么第一个空间的指针是第二个空间的地址,第二个空间的指针是第三个空间的地址,以此类推)单链表与顺序表的不同之处就是:单链表并不会和顺序表一样有对应的下标,单链表的每个空间的地址是不连续的,但是每个空间都会有一个指针指向下一个空间,所以从空间来说是连续的。由上图可看见,n1->next是存有n2的地址,n2->next是存有n3的地址,而最后一个n4->next是指向空,此时说明我们的单链表创建成功了。当然是赋NULL,空指针。

2023-09-24 11:51:51 701 4

空空如也

空空如也

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

TA关注的人

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