![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 64
ilgfcyll
这个作者很懒,什么都没留下…
展开
-
VSCode g++ 编译 gdb 调试单个或者多个文件
0 需要预先了解的知识VSCode是一个代码编辑器,gcc和g++是GUN的C与C++的编译器。每一个源文件都是一个编译单元,在执行编译的时候一般有下面四步:预处理,与“#”相关的一些指令,包括#include,#define等,进行简单的粘贴复制和替换,生成.i的文件。 将预处理后的.i文件,并转变成汇编语言,生成文件.s—汇编语言程序。 将汇编程序语言转变成为目标代码(机器码)生成.o的文件,和一些连接器需要用到的重定向信息。 利用重定向信息将所有的可执行文件(所有编译单元).o连接成一个原创 2021-10-01 22:39:10 · 1841 阅读 · 0 评论 -
八、数据的共享与保护
1、标识符的作用域与可见性1.1 作用域作用域是一个表示符在程序正文中的有效区域,关系到其他函数是否能够访问到该对象。1.1.1 函数原型作用域在函数原型声明时形式参数的作用范围就是函数原型作用域。1.1.2 局部作用域函数形参列表中形参的作用于,从形参列表中的声明开始,到整个函数体结束为止。每一对“{}”也是一个局部(块)作用于。函数体内声明的变量,其作用于从声明出开始,一直到声明所在的块结束的大括号为止。具有局部作用于的变量也称之为局部变量。1.1.3 类作用域类的成员函原创 2021-09-26 20:36:14 · 106 阅读 · 0 评论 -
七、类的组合
1、组合前面一直都在用组合的方法创造类。class Circle{private: float radius;public: Circle(float r); ~Circle(); float circumference(); float area();};如上面所示程序,Circle类中,也包含这float类型的数据。我们已经习惯于将C++的基本类型数据类型作为类的组成部件。实际上类的成员数据既可以是基本类型也可以是自定义类型,当然也可以是类的原创 2021-09-25 22:05:18 · 414 阅读 · 0 评论 -
六、类与对象
1、面向程序的基本特点抽象:面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。抽象应该包括两个方面:数据抽象、行为抽象。 封装:封装就是将抽象得到的数据和行为相结合,形成一个有机的整体。封装的目的是隐藏具体实现,使用户只需要通过外部接口就能够直接访问,不必了解类的细节。这增强了抽象性、数据安全性。 继承:继承就是将一般与特殊的关系搞清楚。比如:教师类型可以从人类类型中继承。继承允许在保持原始类型的基础上,进行更加具体、详细的说明。 多态:多态性指的是一段原创 2021-09-25 17:41:02 · 102 阅读 · 0 评论 -
1、C++基础
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基原创 2021-09-19 17:23:25 · 141 阅读 · 0 评论 -
3、数据的输入与输出
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言在C++中,将数据从一个对象到另一个对象的流动抽象为"流"。流对象在使用前要被创建,在使用后要被删除。一、I/O流从流中获取数据的操作称之为提原创 2021-09-19 21:36:03 · 613 阅读 · 0 评论 -
4、C++中的基本控制结构
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用目录系列文章目录前言一、选择结构1、if 语句2、switch语句二、循环语句1.while2.for语句总结前言每一种编程语言都有相应的基本控制结构,C++也例外。主要包括三种:顺序结构、选择结构和循环结构。一、选择结构1、if 语句#include <iostream>using原创 2021-09-19 22:21:40 · 416 阅读 · 0 评论 -
5、C++函数
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用目录系列文章目录前言一、函数的概念二、函数的定义和使用1.定义2.函数调用3、递归调用总结前言在面向过程的结构化程序设计中,函数是模块划分的基本单位,是对处理问题过程中的一种抽象。在面向对象的程序化设计中,函数是对对象功能的抽象。一、函数的概念一个C++程序可由一个主函数和若干子函数构成。mian是主函数,主函数原创 2021-09-20 17:31:36 · 84 阅读 · 0 评论 -
C++之指针
/*指针的应用一.指针与数组: 1.行指针(数组指针)************ 2.指针数组:数组元素为指针二.指针与函数: 1.指针作为函数参数、 2.指针作为函数返回值类型、 3.函数指针(指向函数的指针:int(*fun)(int,int),主要是为了实现函数回调的功能)*******************三.对象指针: 指向对象*******************...原创 2018-02-24 16:30:04 · 112 阅读 · 0 评论 -
C++之派生类的构造函数
派生类的构造函数要进行两部分的初始化:1对派生类中新增的成员2对派生类中继承过来的成员,这是通过默认调用基类的构造函数实现的,但是需要给构造函数传递参数。此时又分为两种情况 (1)当基类中有默认构造函数,此时派生类的构造函数可以不传递参数(什么也不错),自动调用基类的默认构造函数(2)如果基类没有默认构造函数,此时派生类的构造函数需要在参数列表中传递参数。3:...原创 2018-02-25 16:06:08 · 306 阅读 · 0 评论 -
C++之拷贝构造函数
// CopyConstructor.cpp: 定义控制台应用程序的入口点。////4_2.cpp#include "stdafx.h"#include <iostream>using namespace std;class Point { //Point 类的定义public: //外部接口 Point(int xx = 0, int yy = 0) { //构...原创 2018-02-23 16:57:17 · 131 阅读 · 0 评论 -
C++之运算符重载
运算符重载对于C++来说是一个非常重要的功能,下面就详细来说明:1当第一个操作数为自定义的类的对象时,可以将运算符重载为成员函数2重载为非成员函数的情况,第一个操作数不是类的对象,或者这个我们不能重载的运算符的对象,例如:“cout”...原创 2018-02-25 20:42:04 · 112 阅读 · 0 评论 -
C++之类与对象
类的定义语法:私有成员、公有成员、保护成员对象:由类定义的实例,通过对象可以访问类的公有成员,私有成员只能通过类内成员、友元函数、友元类访问构造函数:默认构造函数、一般构造函数、拷贝构造函数(采用参数常引用)类的组合:类的组合是 is a kind of 的关系,要特别注意类的组合函数的构造函数编写。前向引用声明:两个类互相是引用,可以用前向引用声明的方法,但只能使用声明的符号,而不能设计类的任何...原创 2018-02-24 12:26:59 · 116 阅读 · 0 评论 -
C++之类
什么是类:在C++中类是一种较为特殊的数据结构,它更像是从结构体中演变而来的。通过定义自己的类去定义一种新的数据类型,并且也可以在类中定义成员函数,对你所定义的具体的数据类型进行相应的操作。类的哲学:从现实世界中我们可以对具体的事物进行分类。比如:人类—>男人,女人。它更加的抽象,但是有这种面向对象的思想编程也是比较合适的。类的语法: 首先,我们要定义一种新的数据类型,才能定义某个具体类型的...原创 2018-03-02 17:44:35 · 110 阅读 · 0 评论 -
C++之常类型
常类型主要包括:常对象:保证对象成员不发生改变,并且必须要初始化常成员:(常数据成员:保证数据不发生变化、常函数成员:保证在调用函数时不改变数据)常引用:保证不改数据 const 类型标识符 & p;常数组:数组元素不能被更新常指针:指针类型的常量(int* const p=&a1,必须进行初始化),指向常量的指针(const int* p,通过指针不能改变被指对象的内容)...原创 2018-02-23 20:12:01 · 300 阅读 · 0 评论 -
C++之数组与指针
二维数组假如我要设计一个二维数组,我会采用什么方法呢?它在内存中又是怎么分布的呢?这就需要先对一维数组进行分析:对于一维数组来说,数组名相当于指向数组首元素的地址,是一个指针(指针就是地址),但是&a是指向整个数组的指针。*相当于对其管辖返回进行缩小,而&相当于对其管辖范围进行扩大。那么对于二维数组呢?首先由行和列。如果想要更加方便的访问数组中的元素,如果能有行的地址就是哼完美了。...转载 2018-02-28 20:53:26 · 137 阅读 · 0 评论 -
c++之构造函数
1如何进行类的对象的初始化:如果类内有构造函数,则可以按照构造函数的值进行初始化,如果没有构造函数,则用类内初始值进行初始化。2类内的公有成员和私有成员的区别:私有成员(包括数据和成员函数)只能被该类的成员函数和友元函数访问。公有成员(包括数据和成员函数)可以被任何函数访问.注意:若将private省略,则默认为私有成员(成员包括函数和变量)。3类的成员函数实现:(1) 在类中声明函数的...原创 2018-02-08 21:29:27 · 171 阅读 · 0 评论 -
C++之静态成员变量和静态成员函数
静态成员变量和静态成员函数的生存期为文件和程序运行期是相同的,是静态生存期,作用域为类作用域。静态成员变量和静态成员函数是属于整个类的,其函数内部没有指向当前对象的指针this指针静态成员函数的调用可以通过某个类名,对象,对象的引用或指针进行访问在静态成员函数中不能够访问非静态成员变量(因为不知道变量的是那个对象的变量)或非静态成员函数(因为在其内部也是可能访问了非静态成员变量)在构造函数中使用静...原创 2018-03-01 14:44:39 · 130 阅读 · 0 评论 -
C++之名字
1 变量名和地址的关系适应关系:A(变量名)一>B(地址)。 2首先数组名和函数名,他们的名字分别代表了数组首元素的地址和函数的入口地址,他们都是地址,所以才有函数指针(指向函数的指针的存在)。 3对于剩余的其他变量名,例如;int,float,bool,struct类型以及某个具体的类等。他们的变量...原创 2018-03-01 17:16:40 · 531 阅读 · 0 评论 -
C++之结构体
// StructType.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;struct Student {//结构体是一种特殊的类 int num; char name; int age;};int main(){ //int Student =...原创 2018-02-23 17:02:56 · 153 阅读 · 0 评论 -
C++之联合体应用
// UnionType.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <string>#include <iostream>using namespace std;class ExamInfo {public: //三种构造函数,分别用等级、是否通过和百分来初始化 ExamInfo(string n...转载 2018-02-23 17:08:17 · 290 阅读 · 0 评论 -
C++之类的组合
// ConsoleApplication41.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;//定义一个CPU类enum CPU_RANK { p1 = 1, p2, p3, p4, p5, p6, p7 };class CPU {private : ...转载 2018-02-23 17:35:09 · 269 阅读 · 0 评论 -
2、C++语言的基本元素
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基原创 2021-09-19 21:19:13 · 413 阅读 · 0 评论 -
C++之枚举类型与枚举类
// enumType.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;//定义一个枚举类型,可以通过这个定义相应的枚举成员的标识符//并用其中的一个为他们赋值//定义在main函数体外属于全局变量enum GameResult { WIN, LOSE, T...原创 2018-02-23 17:01:55 · 2391 阅读 · 0 评论 -
C++之STL简述
容器:通用的数据结构,有类模板实现迭代器:依次存取容器中的元素,类似于指针算法:操纵容器中元素的函数模板对象被插入容器时,被插入的是容器的复制品,对这些对象操作时,往往还要重载运算符一些容器: vector容器:动态数组、内存连续、存储时间为常数,在尾端增删元素性能较佳 List双向链表:内存不连续,增删元素时间为常熟、不支持随机存储关联容器:元素是排序的。插入元素要按...原创 2018-02-27 14:07:54 · 124 阅读 · 0 评论