- 博客(37)
- 收藏
- 关注
原创 C++多态
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价那么在继承中要构成多态还有两个条件1️⃣必须通过基类的指针或者引用调用虚函数2️⃣被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写(重写与继承中的隐藏是不一样的,重写概念具体看后面)
2023-08-16 10:33:19 664 6
原创 C++进阶之继承
下面我们进入C++的重要部分,继承,面对对象的三大特性,封装,继承,多态,继承为其一大特性,可知继承的重要性继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向象 程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用(基类的构造函数和析构函数是不会被继承的)
2023-06-04 11:07:18 1385 12
原创 Linux权限
ii.写(w/2): Write对文件而言,具有修改文件内容的权限;iii.执行(x/1): execute对文件而言,具有执行文件的权限;i.读(r/4): Read对文件而言,具有读取文件内容的权限;假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask。但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
2023-05-20 17:41:53 651 5
原创 03C++类与对象之运算符重载
原因在于d1是 const Date类,不能改变,所以他的取地址应该是const Data*this,而系统传过去的this指针是一个普通的,这属于权限放大了(具体可以看看我前面的&(引号)的使用),而又因为this不能自己改C++添加了个在函数后面的const 的方法给this指针添加const。像这种运算符重载,我们可以思考多个运算符代码到复用(在这里统一说一下const可以暂时不管,同时此处会涉及到后面的友元类,友元类就是虽然不是成员函数,就是没用this指针,但是可以访问私有成员数据)
2023-05-18 22:34:01 586 2
原创 C++类与对象&&this指针
从此篇往后,开始了C++的类和对象的篇章,嗯就说这么多class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。// 类体:由成员函数和成员变量组成// 一定要注意后面的分号注意,类的声明和定义要分成两个文件,声明在.h的头文件里,定义在.cpp的源文件里,具体实现与C语言的声明与定义分离一样。
2023-04-27 17:44:48 1096 6
原创 AutoGPT 环境搭建教程
AutoGPT 是一个由人工智能驱动的应用程序,利用 GPT-4 等 LLM 的强大功能自主创建和处理各种工作。通过使用 Auto GPT,组织和个人可以简化报告创作、内容创建和数据分析等流程,以节省时间并减少错误。那么今天交大家来搭建AutoGpt原创自酷安作者:刚下飞机,邮箱:3144246415@qq.com。
2023-04-20 18:39:48 2466 18
原创 C++入门之auto关键字&&内联函数
延续之前的C++入门,本篇介绍C++的auto关键字的使用方法以及内联函数在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的是一直没有人去使用它,大家可思考下为什么?C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得return 10;int a = 10;auto b = a;
2023-04-20 16:58:52 3180 4
原创 动态规划专练(一)
此篇为动态规划的初阶篇,所以比较简单,适合刚入门的新手学,如果你已经入门了,就无需看这了,以后我会持续更新关于动态规划的文章的509. 斐波那契数爬楼梯使用最小花费爬楼梯。
2023-04-16 11:31:02 1038 38
原创 刷题训练营之哈希表(一)
虽然很多题目使用C++中的unorder_map来解题,但是本篇主要采用C语言来解题题目在力扣的242. 有效的字母异位词题目在力扣两个数组的交集题目在力扣快乐数。
2023-04-08 22:46:12 670 11
原创 二叉树刷题专练(一)
继承以往刷题训练营的风格,文章会采用循序渐进的过程,本篇是二叉树的刷题训练营,所以不会讲解二叉树的基本知识,如果对于二叉树的基础知识不了解的同学需要自行了解二叉树的基础知识(例如前序,中序,后序等)
2023-03-31 22:45:44 1032 17
原创 刷题训练营之栈与队列
本题是在栈与队列的基础上,为巩固两者而出的题,所以基本是在实现了栈与队列的基础上做的,如果没有栈与队列的基础,请看我之前的文章
2023-03-25 18:00:00 714 44
原创 kmp算法next求解详解
相信大家在学习kmp算法时,如果会求next了,那么对于kmp算法基本就懂了,可是求解next数组的理解和求解比较困难,那么我今天就来详细的来讲解kmp算法的next的求解,此文章是建立在你对于kmp算法有一定的了解之后,而对于next的求解比较头疼的基础之上的,如果懂可以去自行了解(我之后可能会出kmp算法得完整详解)
2023-03-16 22:40:31 1605 35
原创 刷题专练之链表(一)
以下是链表经常考的面试题,我在这里进行归纳和讲解,采取的是循序渐进的方式y一一讲解当然,需要有链表基础,没有的话先看我前面的链表讲解题目在力扣得的203. 移除链表元素题目在206. 反转链表题目在力扣的876. 链表的中间结点题目在牛客链表中倒数第k个结点。
2023-03-14 19:54:03 1730 20
原创 数组之双指针题
给定一个长度为 n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数 n。第二行包含 n个整数(均在 0∼105范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。数据范围1≤n≤105来源于力扣的209. 长度最小的子数组。
2023-03-04 16:54:24 924 16
原创 刷题专练之数组移除元素
我每个刷题篇的题目顺序都是特别安排的,目的是循序渐进,以到彻底掌握此类方法,主要分享算法,对于暴力求解的解法不会写,本文章即用的是双指针
2023-02-24 19:40:14 1087 45
原创 c++入门之输入输出&&命名空间
在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的
2023-02-02 16:40:48 1468 36
原创 带你手撕排序算法
把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。实际中我们玩扑克牌时,就用了插入排序的思想
2023-02-01 16:35:10 5335 108
原创 二叉树的概念与结构
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。
2023-01-27 10:51:49 1132 22
原创 数据结构之栈与队列详解
栈和队列是一种特殊的线性结构,他与之前学的线性结构不同,栈和队列是拥有一种特殊规则的线性结构,虽然它是用数组或者链表实现,但是只有符合这种规则才能被称作栈或者队列
2023-01-20 18:52:37 2864 60
原创 线性结构之单链表详解
我们前面学习了顺序表的实现,那么今天我们来学习单链表,当然单链表也有许多种类,在这里我当然是讲不完的,在这里我只介绍单链表最常见的无头单向非循环链表
2023-01-17 21:17:11 1654 36
原创 文件操作详解
恐怕很多人学完了c语言甚至不知道文件操作,也确实,很多人觉得这部分的知识确实鸡肋(其实我也觉得鸡肋,嘻嘻),但是虽然用处不大但是我们应该知道,我这里介绍操作函数
2023-01-16 23:38:39 1797 17
原创 动态内存与动态内存函数详解
为什么我们需要了解动态内存和函数?我们初始化一个函数时,这个函数是程序为我们自动分配的//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间那么我们不想程序自动分配,我们需要自己分配呢?,这就需要了解动态内存和内存函数了
2023-01-15 16:46:28 1173 64
原创 自定义类型之枚举与联合
自定义类型很多人可能只知道结构体,因为结构体相对来说确实用的比较多,而自定义类型除了结构体,还有枚举和联合,今天我就来介绍一下枚举与联合
2023-01-14 15:45:58 923 38
原创 结构体内存对齐与位段详解
学习了结构体,你会算结构体的占用字节数吗,许多人恐怕摇头,而算字节大小需要了解内存对齐这个知识点,当然除了内存对齐,位段也是1.位段的成员必须是 int、unsigned int 或signed int。2.位段的成员名后边有一个冒号和一个数字,后面的数字是比特位光概念啥的可能不理解,还得上例子struct A //注意这些数字申请得1是位 {int _a : 2;int _b : 5;
2023-01-12 21:14:11 983 55
原创 数据结构基础之动态顺序表详解
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改
2023-01-11 15:06:17 722 13
原创 利用qsort的相关知识改进冒泡排序
本篇是通过qsort的学习,改进冒泡排序,如果有不懂qsort的可以去我前面的文章看看回调函数与用qsort排各种类型的数据。
2023-01-07 18:45:48 797 21
原创 回调函数与用qsort排各种类型的数据
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
2023-01-06 17:41:41 879 18
原创 C语言之指针数组与数组指针详解
许多同学在学习指针的时候对于指针数组和数组指针的使用有许多难处,现在我带领同学学习一下指针数组与数组指针的区别和使用。
2022-12-27 21:37:39 1295 24
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人