- 博客(19)
- 收藏
- 关注
原创 Day _12 C++模板
1.模板函数什么是模板 : 把类型当做未知量,可以忽略类型影响 什么是模板函数:被 template <class 类型> 或者 template <typename 类型>修饰的函数就是模板函数。 (1).普通模板函数 template <class _Ty> 相当于创建一个新的位置变量_Ty,且_Ty可以被修饰的函数使用。template <class _Ty>void pr...
2021-12-12 17:33:59
788
1
原创 Day_10 IO流
1.输入输出流 流:若干个字符从一端到另一端我们叫做流。输入流:istream类 输出流:ostream类 输出流的对象有三种。预先定义的三个输出流对象cout标准输出,可以文件重定位(从文件中读取数据) cerr标准错误输出,没有缓冲,发送给他的内容立即输出,不能文件重定位 clog类似于cerr,但是有缓冲,缓冲区满时被输出,可以文件重定位解释一下文件重定向:通过freopen函数重定位输出输入流。 fre...
2021-12-10 14:31:37
496
原创 Day_08 类的继承和派生
继承和派生其实都是一回事,只是说法不同罢了,如:子类继承了父类,父类派生了子类。因此 父类也称作基类,子类也成为派生类。下文统一使用 继承、父类、子类 的说法。 继承的实质就是:父类中的成员数据和成员函数,子类中也有一份。(要注意权限问题)1.继承中子类的写法 格式类似于 :class 子类名:继承方式 + 父类名,继承方式有public protected private 三种继承方式。三种继承方式的区别在于子类对父类属性的访问权限。继承方式...
2021-11-30 20:17:04
242
原创 Day_07 类的组合
1.类的组合 当我们想在一个类中把另一个类的对象当作成员数据时,我们就需要用到类的组合了。而数据成员是其他类的对象的类,我们称之为组合类。注:能用类的组合,我们尽量不用继承 在使用类的组合的时候,我们要注意组合类的构造函数的写法。成员数据中的对象必须通过初始化参数列表的方式来赋初始值(调用该对象的类的构造函数),其他的成员数据没有硬性规定。class MM{public: MM(string MMname,int MMage):MMname(MMn...
2021-11-29 11:53:52
209
原创 Day_06 运算符重载
运算符重载,就是赋予运算符具有操作自定义类型数据功能。运算符重载的实质就是函数调用,它的格式是:返回值 函数名(参数1,参数2...),但是又不同于普通函数。 运算符重载函数的函数名是用 operator+运算符 组成的。返回值是运算完成后的值决定的。1.运算符重载 运算符重载有两个方式:1.友元函数的方式重载 2.类的成员函数的方式重载(1...
2021-11-28 17:28:05
426
原创 Day_05 特殊成员(const 、static)与友元
1.const(1).const成员数据 const修饰词,可以修饰成员数据,也可以修饰成员函数。修饰成员数据时,表示成员数据不能更改。且成员函数只能通过初始化列表来赋值(或者在定义数据成员时就给它赋初始值)。class MM{public: MM(){string name,int age}:name(name),age(age){ } void print(){ //age=22; 错误 一旦通过初始化参数...
2021-11-28 00:23:45
81
原创 Day_05 特殊成员(const 、static)与友元
1.const(1).const成员数据 const修饰词,可以修饰成员数据,也可以修饰成员函数。修饰成员数据时,表示成员数据不能更改。且成员函数只能通过初始化列表来赋值(或者在定义数据成员时就给它赋初始值)。class MM{public: MM(){string name,int age}:name(name),age(age){ } void print(){ //age=22; 错误 一旦通过初始化参数...
2021-11-27 12:51:38
276
原创 Day_04 构造析构函数
1.构造函数(1).构造函数的定义什么是构造函数? 构造函数存在于类中,是类创建对象时,编译器会自动调用构造函数。只要是类,都会存在一个默认的构造函数。 首先,让我们看看构造函数长什么样子。class MM{public: //无返回值无参 MM(){ }; //无返回值有参 MM(string MMname,int MMage){ name=MMname; age=MMage; }...
2021-11-22 19:04:53
341
原创 Day_03 C++ 类和对象
C++ 在 C 语言的基础上增加了面向对象编程,类是 C++ 的核心特性,通常被称为用户定义的类型。 类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。 类中的数据和方法称为类的成员。类和对象的基本概念 什么是类?一系列事物的抽象,万物皆可为类 类是有两部分组成: 属性(数据成员) 行为(成员函数) 属性: 事物的特征--->数据类型描述 行为: 事物的操作--->函数描述 什么是对象: 类...
2021-11-19 14:49:42
505
1
原创 Day_02 C与C++区别
上篇文章说了C与C++区别中的 头文件命名空间、 using语法 、 引用类型(常引用 右值引用) 、 基本的输入输出 、 函数思想。 这次我们再来看看C++ 中结构体 动态内存申请 内存池 string类型 这四种内容的区别1.结构体 与C语言不同的是 C++能在结构体中定义或者申明函数 在结构体中申明的函数可以通过结构体名+作用域标识符(结构体限定名) 来在结构体外定义函数 (结构体中定义的函数叫做成员函数,...
2021-11-16 20:01:30
536
1
原创 Day_01 C与C++区别
大纲1.C++头文件和命名空间2.C++输入输出流3.C++新增数据类型4.C++函数思想具体内容:1.C++头文件和命名空间c++标准输入输出流 通过的是#include<iostream>头文件C++的头文件是向下兼容C的 在C++中也可以用#include<stdio.h>除此以外C++中调用C的头文件 还可以通去掉.h加前缀c来引用例如 #include<cstdio> (#include<stdio.h>..
2021-11-13 17:39:21
493
1
原创 数据结构--优先队列
队列的存储方式是先进先出,而优先队列就和普通的队列不一样了,优先队列是根据一定的规则,先给队列中的元素排序,然后按照优先度出队。 代码采用结构体封装的形式来封装队列。/* 优先队列:根据优先权去决定你出队的元素 队列容量 优先权-->数字,代表任务量,权重 按照特殊值去做打印(选择排序) 所以不需要 队头 和 队尾*/#include <stdio.h>#include <stdlib.h>#include &...
2021-09-25 20:20:01
248
原创 数据结构----链式栈(结构体封装与二级指针封装)
栈代表一种先进后出的存储方式,在实际应用中,基本上有回退操作的都需要运用到栈。一个栈需要实现的基本操作有:入栈 出栈和标记栈顶元素。 由于这种先进后出的存储结构和链表的头插法非常的相似,所以我们可以借鉴头插法写出一个链式栈。以下是链式栈的具体代码(通过结构体再封装实现)#include<stdio.h>#include <stdlib.h>//栈:先进后出。 所有关于回退问题的都需要用到栈。/*栈的基本操作:入栈出栈标记栈顶元素由于栈是先...
2021-09-21 17:52:05
474
原创 双向循环链表(二级指针)
在双向链表的基础上多了一个头节点只想尾节点,当双向循环链表只有一个节点时,节点的前后指针域都是指向节点本身。链表采用二级指针的形式来封装,具体代码如下。#include<stdio.h>#include<stdlib.h>//无头循环链表(二级指针形式)typedef struct _Node{ int data; struct _Node* front; struct _Node* tail;}Node;Node* createNode(int...
2021-09-21 15:21:08
218
原创 双向链表(结构体再封装)
双向链表相对于单链表来说 节点多了一个存放前节点地址的指针域。可以从前往后访问与从后往前访问,其余和单链表类似。 不过在链表的删除和插入过程中要注意区分一些头尾节点和普通节点操作上的区别。//循环链表(再封装形式)#include <stdio.h>#include <stdlib.h>typedef struct _Node{ int data; struct _Node* left; struct _Node* right;...
2021-09-20 20:47:11
120
原创 数据结构-无头链表 (结构体再封装)
无头链表有两种,一种是二级指针形式,还有一种就是结构体再封装形式。结构体再封装通过抽象出链表的共有属性 即链表表头,表尾,和链表长度 来建立链表。所以我们需要建立两个结构体。其中一个结构体是节点结构体typedef struct _Node{ int data; struct _Node *next;}Node;另一个则是通过链表共有属性抽象出来的结构体typedef struct _List{ Node* frontNode; //表头结点指...
2021-09-19 15:07:52
137
原创 数据结构:无头链表(二级指针形式)
无头链表和有头链表的最大区别是:无头链表头节点是存数据值和指针的,而有头链表头节点只存指针。 所以,对于无头链表,我们需要申请一个结构体类型的指针来指向链表的头节点。以此来方便我们遍历链表。在实际写代码操作的过程中,需要注意的是,当我们用头插法来增加节点或者删除头结点时,我们还需要同时改变指向头节点的指针。以此来方便我们接下来的遍历。 这时候我们就会遇到一些问题,在函数传递指针参数时,需要用到二级指针来传递指向头节点的指针。为什么呢? 首...
2021-09-17 15:27:23
294
原创 记录一个用单链表写的学生信息管理系统
博主刚刚学完单链表,本着以实践为主的原则,写了一个简陋的学生信息管理系统 ^^! 比较简陋,大神勿喷。。。。#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>typedef struct _student{ char name[10]; int age; char number[11]; char sex[4]; st...
2021-09-16 14:56:12
200
原创 数据结构 :有头链表
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言记录一下自己学习所获得的一些东西 ,巩固自己。提示:以下是本篇文章正文内容,下面案例可供参考一、首先创建一个结构体typedef struct node{ int date; struct node* next;}LinkNode;typedef LinkNode* LinkL...
2021-09-15 14:59:59
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人