
C++
文章平均质量分 72
C++专区
Yesir_C
发表的仅为个人笔记哦~仅供参考
展开
-
C++之数据结构(树)
树的概念树的特点一种非线性的数据结构有一个根结点,可以有两个或以上的后继结点由节点或顶点和边组成的(非线性的)且不存在着任何环的一种数据结构。没有节点的树称为空(null或empty)树。一棵非空的树包括一个根或多个附加节点,所有节点构成一个多级分层结构。树的基本术语节点的度:一个节点含有的子树的个数称为该节点的度;树的度:一棵树中,最大的节点的度称为树的度;叶子节点:度为0的节点称为叶节点;父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;子节点:一个节点含原创 2021-05-06 22:44:17 · 645 阅读 · 0 评论 -
C++之模板
模板模板的概念函数模板类模板模板的概念模板与泛型编程1)、什么是泛型编程泛型编程:编写与类型无关的逻辑代码。在泛型编程中,编写的代码可以用作多种类型的对象。2)、什么是模板模板,就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性。模板是泛型编程的基础。模板的两种形式函数模板类模板函数模板函数模板是什么函数模板不是一个实体的函数,编译器不能为其生成可执行代码。定义函数模板后只是一个对函数功能框架的描述原创 2021-05-02 10:42:18 · 161 阅读 · 0 评论 -
C++之异常
//#include <iostream>//#include <string>//#include <exception>//#include <vector>//using namespace std;////异常:在程序运行期间出现的问题,问题比较特殊,这些问题我们预料到////计算:一个数除一个数 1/2 1/0////发生的异常的时候:程序运行就不会按照原来的方式运行,会进入一个特定方式运行//////try尝试代码 cat原创 2021-05-02 10:19:50 · 91 阅读 · 0 评论 -
C++之IO流
IO流的概念fstream的使用流的概念什么是流?1)、流是一种抽象概念,表示了数据的无结构化传递。2)、C++流是指信息从外部输入设备(如键盘)向计算机内部(如内存)输入和从内存向外部输出设备(显示器)输出的过程。3)、C++定义了I/O标准类库,用以完成流操作的功能I/O流I/O流:输入/输出流1)、按数据的流向划分:输入流:数据从键盘流入计算机内部输出流:数据从内存流向外部输出设备2)、按处理的单位划分字节流:读取二进制数据,数据不会经过任何处理字符流:读取原创 2021-05-02 10:17:33 · 380 阅读 · 0 评论 -
C++之多态
多态动态联编和静态联编多态纯虚函数动态联编和静态联编什么是联编?什么是联编?联编,是指一个计算机程序自身彼此关联的过程,在这个过程中确定程序中的操作调用与执行该操作的代码段之间的映射关系。可以简单理解为:将源代码中的函数调用解释为执行特定的函数代码。比如:函数重载时,编译器会根据函数调用时参数的区别来确定执行哪一个函数(哪一段特定的代码)。这就是建立一种映射关系,明确函数调用时会执行哪一个代码段。静态联编的概念静态联编,是指联编工作出现在编译连接阶段,又称为早期联编原创 2021-04-29 15:14:36 · 273 阅读 · 0 评论 -
C++之继承
继承继承和派生继承方式多继承菱形继承继承和派生继承的概念继承是一种创建新类的方式,新建的类可以继承一个或多个类。可以理解为现实生活中继承,儿子继承了父亲的资产。所以,继承描述的是类与类之间的关系。新建的类称为派生(子)类,之前存在的类称为基(父)类继承和派生继承与派生是同一过程从不同的角度来看。一个新类从已有类那里获得其已有特性,为继承。从已有类产生一个新的子类,为派生。继承的分类新建类继承一个类时称为单继承。新建类继承多个类时称为多继承。继承时派生类的原创 2021-04-27 22:19:03 · 308 阅读 · 0 评论 -
C++之运算符重载
运算符重载运算符重载的概念运算符重载用友元实现运算符重载运算符重载的概念什么是运算符重载重载,重新载入,比如函数重载,对一个已有的函数赋予一个新的定义,因此一个名字就能代表不同的含义。运算符也是可以重载的,比如在cout时,能接受不同类型的数据并输出,这个就是运算符的重载。因此,运算符重载,指的是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。为什么要进行运算符重载运算符重载,可以让运算符去适应不同的数据类型,对于基本数据类型,系统给出了运算符的操作规则原创 2021-04-26 18:04:46 · 459 阅读 · 0 评论 -
C++之友元常量静态成员
静态常量友元静态成员常量成员友元成员静态成员什么是静态成员静态成员, 指的是在C++类中声明成员时可以加上static关键字, 这样声明的成员就叫静态成员静态成员的组成静态数据成员静态成员函数 class CBaseBitmap { public: static int num; //静态数据成员 static int GetNum() {return num;} //静态成员函数 };静态数据成员类原创 2021-04-26 10:15:28 · 231 阅读 · 0 评论 -
C++之拷贝构造
拷贝构造拷贝构造初始化列表什么是拷贝构造?拷贝函数,它是一种特殊的构造函数,主要用来完成一些基于同一类的其他对象的构建及初始化,用自身这种类型的对象来构造自身。拷贝构造的定义用户未定义拷贝构造系统默认提供一个隐式的拷贝构造,它会将存在于对象中的数据成员逐个的拷贝到新创建的对象中。用户主动定义拷贝构造类名(const 类名& 引用名){}在函数体内用户可以自行决定需要执行的操作过程。拷贝构造的示例class CProp { char*pN原创 2021-04-25 15:14:07 · 2369 阅读 · 0 评论 -
C++之构造析构
构造析构构造函数析构函数this指针构造函数什么是构造函数?构造函数,它是一种特殊的函数,主要用来在创建对象时初始化对象,即为对象的成员变量赋初始值。构造函数的特点函数名和类名相同没有函数返回值类型,也无函数返回值如果一个类说明中没有显式的给出构造,系统将自动地给出一个缺省的(隐式)什么都不干的构造函数,<类名>(){};如果说明中包括多个构造函数,一般会有不同的参数列表和函数体一个新的对象被建立时,该对象的构造函数会自动地被调用,对这个对象进行原创 2021-04-23 18:32:44 · 117 阅读 · 0 评论 -
从C到C++之面向对象
面向对象面向过程面向对象类面向过程c语言编程就是一个面向过程的编程。它遵循一个“从上往下”的程序设计。用面向过程的方式解决问题的思路:提出问题,分析问题的处理流程,将大问题分解成小问题,如果小问题比较复杂,那么就继续的分解为更小的问题,然后解决这些一个一个的小问题来解决大问题(调用函数),最后解决所有的问题。这个从问题出发,从上往下的解决过程,一步一步的解决问题,这种开发思路我们称之为面向过程的设计思想,因为他主要是解决问题中的一个个的过程,而且它比较符合我们解决问题的方法(做好原创 2021-04-22 23:07:39 · 239 阅读 · 0 评论 -
从C到C++(2)
C到C++2new和delete命名空间cin和cincoutstring类型的基本使用new和deleteC++动态内存分配C++动态内存分配运算符 new在C++中来向系统申请堆区内存空间, 等价于C语言中的malloc定义int *p = new int;在堆内存中申请一个int类型大小的空间,把首地址返回给pint *p = new int(10);在堆内存中申请一个int类型大小的空间,并将这个空间赋值为10,把首地址返回给pint *p = new原创 2021-04-19 13:03:54 · 198 阅读 · 0 评论 -
从C到C++(1)
C++笔记C到C++1. bool类型2. 引用3. 内联函数4. 函数重载5. 函数的缺省参数原创 2021-04-18 18:56:26 · 122 阅读 · 0 评论 -
蓝桥杯之蛇形填数(Python和C++代码)
题目描述在 n * n 方阵里填入 1, 2, …, n * n, 要求填成蛇形。例如 n = 4 时方阵为:10 11 12 19 16 13 28 15 14 37 6 5 4样例输入3样例输出7 8 16 9 25 4 3Python代码while True: n=int(input().strip()) ls=[] for i in range(n): ls.append(list(0 for i in range(n原创 2021-03-29 10:06:18 · 421 阅读 · 0 评论 -
C++数据结构之Vector向量容器
vector1.1 vector 说明vector是向量类型,可以容纳许多类型的数据,因此也被称为容器(可以理解为动态数组,是封装好了的类)进行vector操作前应添加头文件#include 1.2 vector初始化方式一//定义具有10个整型元素的向量(尖括号为元素类型名,它可以是任何合法的数据类型),不具有初值,其值不确定vector<int>a(10);方式二//定义具有10个整型元素的向量,且给出的每个元素初值为1vector<int>a(10,1)原创 2021-03-23 23:08:43 · 466 阅读 · 0 评论 -
C++之deque容器
deque序列式容器序列式容器都有着共同的特征序列式容器的元素按严格线性排列可以按顺序访问他们的元素只有一个前驱和后继每一个数据所在的位置的都是固定的array vector list deque都属于序列式容器vector是单端的 而deque是双端的双端队列dequedeque双端队列也是一个动态数组, 内部的结构是有一定顺序性的, 的确的底层实现是一个链式数组相比vector没有的函数, deque由于底层是一个不连续的数组内存之间组成的, 所以没有指针内存的一些操作原创 2021-03-23 23:25:48 · 419 阅读 · 0 评论 -
用C++写单链表
数据结构之单链表链表,类似它的名字, 表中的每一个节点都保存有指向下一个节点的指针, 所有的节点有节点串成一条链。根据指针的不同,还有单链表、双链表和循环链表的区分,单链表是只包含指向下一个节点的指针, 只能单向遍历由于链表是使用指针将节点连起来,因此无需使用连续的空间,它具有以下特点:单链表没有固定长度快速的插入和删除数据与数据相似, 链表也是一种线性的数据结构链表中的每个元素实际上是一个单独的结构体对象,而所有对象都通过每个元素中的指针链接在一起每个结构体对象叫做节点单链表可以原创 2021-03-23 23:55:28 · 365 阅读 · 0 评论