- 博客(23)
- 收藏
- 关注
原创 C++进阶篇:继承与多态一篇拿下
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价。那么在继承中要构成多态还有两个条件1.必须通过基类的指针或者引用调用虚函数2.被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写在虚函数的后面写上 =0 ,则这个函数为纯虚函数。包含纯虚函数的类叫做抽象类(也叫接口类),抽象类不能实例化出对象。派生类继承后也不能实例化出对象,只有重写纯虚函数,派生类才能实例化出对象。
2024-04-23 21:27:25
990
原创 Linux:权限的概念与理解
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask。将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。对目录来说具有删除移动目录内文件的权限。可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.对目录来说,具有浏览该目录信息的权限。:execute对文件而言,具有执行文件的权限;可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
2024-03-22 22:45:07
912
1
原创 String类(C++)详解与应用
1. string是表示字符串的字符串类2. 该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作。3. string在底层实际是:basic_string模板类的别名,typedef basic_stringstring;4. 不能操作多字节或者变长字符的序列。在。
2024-03-12 17:45:25
1032
1
原创 C++入门篇:命名空间
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。// bit是命名空间的名字,一般开发中是用项目名字做命名空间名。// 我们上课用的是bit,大家下去以后自己练习用自己名字缩写即可,如张三:zs// 1. 正常的命名空间定义// 命名空间中可以定义变量/函数/类型int val;//2. 命名空间可以嵌套int a;int b;int c;int d;
2024-02-17 00:17:50
423
1
原创 C/C++重点解析:内存管理
int main()/* new / delete 和 malloc / free最大区别是 new / delete对于【自定义类型】除了开空间还会调用构造函数和析构函数*/free(p1);delete p2;// 内置类型是几乎是一样的// Cfree(p3);delete p4;free(p5);return 0;【注意】在申请自定义类型的空间时,
2024-02-16 16:49:01
960
2
原创 C++入门篇:类与对象重点解析(中篇)
如果一个类中什么成员都没有,简称为空类。空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。对于以下Date类:对于Date类,可以通过 Init 公有方法给对象设置日期,但如果每次创建对象时都调用该方法设置信息,未免有点麻烦。构造函数:是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有 一个合适的初始值,并且在对象整个生命周期内只调用一
2024-02-13 01:12:00
814
1
原创 C++入门篇:类与对象重点解析(上篇)
将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。封装本质上是一种管理,让用户更方便使用类。比如:对于电脑这样一个复杂的设备,提供给用户的就只有开关机键、通过键盘输入,显示器,USB插孔等,让用户和计算机进行交互,完成日常事务。但实际上电脑真正工作的却是CPU、显卡、内存等一些硬件元件。对于计算机使用者而言,不用关心内部核心部件,比如主板上线路是如何布局的,CPU内部是如何设计的等,用户只需要知道,怎么开机、怎么通过键盘和鼠标与计算机进行交互即可。
2024-01-28 20:19:51
997
原创 C语言:栈(Stack)与队列(Queue)
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。栈中的数据元素遵守的原则。:栈的插入操作叫做进栈/压栈/入栈,。:栈的删除操作叫做出栈。
2023-12-15 14:00:11
565
2
原创 C语言:链表(List)与顺序表(SeqList)
在单链表中,如果要删除指定位置的节点,需要知道指定位置之前的节点,以便修改前一个节点的next指针来跳过当前节点,从而实现删除操作。由于单链表的节点只能通过next指针找到下一个节点,无法直接找到前一个节点,因此删除指定位置的节点比较麻烦,需要遍历链表找到指定位置之前的节点。这是因为在单链表中,如果要在指定位置之前插入节点,需要知道指定位置之前的节点,而单链表的节点只能通过next指针找到下一个节点,无法直接找到前一个节点。1、静态顺序表是在程序运行前就确定了大小的数组,数组的大小是固定的,不能动态改变。
2023-12-03 01:29:39
1437
5
原创 Linux:万字解说源起与基础指令
在Linux环境下,文件被看作是其文件属性和文件内容的组合。因此,在Linux环境下,文件可以被看作是文件属性和文件内容的组合,其中文件属性描述了文件的元数据信息,而文件内容则是文件的实际数据。●GNU通用公共许可协议(GNU General Public License,简称GNU GPL或GPL),是一个广泛被使用的自由软件许可协议条款,最初由理查德斯托曼为GNU计划而撰写,GPL给予了计算机程自由软件的定义, 任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码。
2023-11-25 19:22:51
718
6
原创 C语言:文件操作
如果没有文件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运行程序,是看不到上次程序的数据的,如果要将数据进行持久化的保存,我们可以是使用文件。在计算机中,文件是指计算机存储设备(如硬盘、U盘等)上存储的数据集合,可以是文本、图像、音频、视频等各种形式的数据。文件通常由一个文件名和扩展名组成,文件名是文件的主要标识符,扩展名则标识文件的类型。文件可以被打开、编辑、保存、删除等操作。1.1程序文件程序文件包括源程序文件(
2023-11-02 13:26:40
672
14
原创 编译与链接:从源代码到可执行程序
程序同时也可以使用静态(static)内存,存储于静态内存中的变量在程序的整个执行过程⼀直保留他们的值。它提供了必要的资源和支持,使得计算机能够按照指令执行代码,并且能够获取和操作所需的数据。将源代码程序被输⼊扫描器,扫描器的任务就是简单的进⾏词法分析,把代码中的字符分割成⼀系列的记号(关键字、标识符、字⾯量、特殊字符等)。执行环境的设计和实现取决于具体的计算机系统和操作系统,不同的编程语言和应用程序可能使用不同的执行环境。文件中定义的函数时,编译器会生成对这些函数的引用指令,但并不知道它们的确切地址。
2023-10-18 20:09:49
402
17
原创 C语言:结构体变量与内存对齐
如果我们能保证将所有的double类型的数据的地址都对齐成8的倍数,那么就可以用一个内存操作来读或者写值了。在这两个中,因为一个结构体中再包含一个同类型的结构体变量,这样结构体变量的大小就会无穷大的,是不合理的。4. 如果嵌套了结构体的情况,嵌套的结构体成员对齐到自己的成员中最大对齐数的整数倍处,结构。体的整体大小就是所有最大对齐数(含嵌套结构体中成员的对齐数)的整数倍。(结构体中每个成员变量都有一个对齐数,所有对齐数中最大的)的整数倍。2. 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。
2023-09-19 00:50:26
131
2
原创 C语言:字符函数与字符串函数的使用以及模拟实现
• 比较str1和str2的前num个字符,如果相等就继续往后比比较,最多比较num个字⺟,如果提前发现不⼀样,就提前结束,大的字符所在的字符串大于另外⼀个。C语言中有⼀系列的函数是专门做字符分类的,也就是⼀个字符是属于什么类型的字符的。函数返回一个指向第一次出现子字符串的指针,如果没有找到子字符串,则返回。• 字符串以 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包。函数是C标准库中的一个字符串处理函数,用于在一个字符串中搜索另一个字符串的第一次出现。
2023-09-10 21:58:34
88
2
原创 C语言:指针基础:遇到指针只会无能狂怒吗?
我们知道计算机计算上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中,其实就是把内存划分为一个个内存单元,每个内存单元的大小取1字节。 其中,每1个内存单元,相当于1个字节的空间里放8个比特位。每个内存单元都有1个对应的编号,CPU就可以快速找到1个内存空间。所以在计算机中,我们把内存单元的编号称为地址。在C语言中地址也被叫做指针。 相当于:内存单元编号==地址==指针 在C语言中创
2023-08-27 22:32:02
65
1
原创 ChatGPT检测到可疑登陆行为求高手解惑
也是第一次遇到这种情况,不知道是账号被封还是梯子的问题,尝试换了梯子也是这样的问题,有没有大佬解释一下是什么原因?
2023-04-17 17:07:36
1796
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人