自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 C++_CH19_继承

面向对象编程是一个巨大范式,而继承则是一个基本的方面。继承允许类有一个相互关联的层次结构。即允许一些子类有一些公共的功能(基类),又有自己的部分。可以帮助我们减少代码的重复。

2024-09-24 23:50:21 161

原创 C++_CH18_构造函数与析构函数

在编写类的时候,C++编译器会默认生成6个默认的函数,但是不显示出来:需要关注以下两个方面:2 构造函数构造函数是一种特殊类型的方法,他在类的实例化时被使用。创建一个Entity类,并给他写一个method,Print(),这样实例化后,调用Print就可以将x,y的值打印到控制台:在低版本的编译器中,得到的输出是两个随机值,当然现在的编译器得到的结果是因为X、Y是public的,因此我们可以打印X,Y试试还是对于高版本的编译器,输出为但是对于低版本的编译器,则会报错:未初始化局部变量。默

2024-09-20 22:30:22 386

原创 C++_CH17_枚举

枚举(ENUM),是enumeration的缩写。是为了让一组数值集合成为一种类型。

2024-08-30 14:51:48 315

原创 C++_CH16_Local static

变量是有作用域的,比如函数可以是一个变量的作用域。能在整个工程使用的变量叫全局变量,其余的叫局部变量。举个例子11111这是因为,每次调用printf(),i的值都被重新更改为了0。

2024-08-30 14:03:55 183

原创 C++_CH15_static在类和结构体中使用

在类或者结构体中使用static关键字,那么之后所有的instance,全部指向的同一块内存空间。在这个时候创建实例就没有意义。比如我创建了两个instance,e1和e2.由于他们指向同一块内存空间,所以修改e2的值也会带动e1的值修改。

2024-08-30 11:45:19 443

原创 C++_CH14_static在类和结构体外使用

一种是在类和结构体外面的static,一种是在类和结构体里面的static。在类和结构体内部声明static,将使得class和struct与他们的instance共用内存。本文只讨论在类和结构体外的static。

2024-08-28 16:55:40 261

原创 C++_CH13_面向对象编程

类(class)是数据和操作的组合。我们以游戏角色为例,创建一个类KIMI叫player这个class的一个实例(instance)对instance内部修改,用 instance.xxx的语法。但是该段代码报错,是因为x,y这样的class内部的东西,没有被声明是全局的,他只在class player内部起作用。因此我们要加上public有了player,我们就可以写player的移动函数。此时已经在class内了,所以player都可以删掉。

2024-08-28 15:43:26 260

原创 C++_CH12_引用

2ref并不是一个变量。这里只是一个语法。这样的语法使得我们删除int& ref = b;11。

2024-08-28 13:02:02 147

原创 C++_CH11_原始指针

int main()NULL就是0,就是空数据。

2024-08-27 22:39:50 426

原创 C++_CH10_流程控制语句

continue用于跳出当前循环这段代码,会使i为偶数的时候跳出当前循环,因此只会打印两次。

2024-08-27 21:58:21 235

原创 C++_CH09_循环

这段代码当然是打印五次。但是这段代码真正的核心是:int i = 0是在for循环开始时被执行一次,i++是在结束for循环时所执行。虽然看起来很怪,但是运行结果完全一样。

2024-08-27 18:12:23 281

原创 C++_CH08_条件分支语句

C++的条件分支和C差不多。具体的可以看我的C语言博客。这里我们只介绍bool类型的引用output相等可以简化:(仅限if中只有单行语句)

2024-08-26 16:06:54 137

原创 C++_ch07_visual studio调试代码

断点就是程序执行到这里就会暂停,一个程序可以设置很多短点。在visual studio中只需要点击侧栏就可以设置断点。点击左边的栏目,出现红点就是设置的断点。另外要确保打断点的位置必须是可执行的代码,不然断点就没有意义。此外,打断点必须是在Debug模式下进行。这样才有意义。断点方便我们逐行执行代码,并观察问题出现在哪里。

2024-08-26 15:33:16 442

原创 C++_CH06_头文件

类似函数,也是避免我们不断地复制粘贴。为什么要复制粘贴?我们在一个project当中新建了两个文件记住这两个文件:math.cppbuild以下project,运行:会发现报错。原因是在main.cpp中,它不知道Log()是什么。在链接器章节我们讲到,这样会产生LINK ERROR。这样才不会报错。但是如果我们一个项目里有很多个文件,并且有多个函数需要声明,我们会陷入复制粘贴的魔咒。因此我们需要头文件集成所有声明。

2024-08-25 23:08:55 439

原创 C++_CH05_函数

规则f有一个适用范围D,输出范围Rf:D ——> Rf(x) = yy在R当中。

2024-08-25 22:41:00 260

原创 C++_CH04_变量

变量类型决定了变量分配空间的大小。用int类型举例,如果是32位的计算机,一个int类型是4个字节,一个字节是8bit,每一位都有0或1两种可能。而对于单纯的int类型(不是unsigned int),首位表示正还是负。因此共31位来存储数字。则取值范围为-2^31~2^31因此能存储的数字大概是正负21亿。如果不想要负数,就是将表示符号的首位变成跟其他位一样。0~2^32这里以int和unsigned int举例。

2024-08-23 17:21:46 261

原创 C++_CH03_链接器

链接就是将一个项目当中所有的文件连接在一起。仅仅只按ctrl+ f7链接不会发生。但是一旦build了你的项目,链接就发生了。如果写一段代码,报错以C开头,则是编译过程出现的问题。如果是LNK开头则是链接过程出现了问题。注意这里的是以C开头。注意这里是LNK开头。注意这里的错误是没有找到正确的入口。事实上入口通常是main函数。但是我们可以通过定义,使得入口是其他函数。

2024-08-22 17:57:45 609

原创 C++_CH02_编译器工作

我们在vs2022中新建一个project,之后,在源文件栏新建一个文件,我们命名为multiply,在头文件中新建一个文件,我们命名为symbol。我们可以发现一个细节,我们的末尾缺少一个花括号。这样的编译当然是会报错的。那么我们再来关注一个symbol里放的是什么呢?这个头文件就长这样,没错,就是这样。我们右击项目,打开C/C++栏–>找到预处理–>将预处理到文件勾选为‘是’。之后ctrl+f7编译。在输出目录找到multiply.i文件:该文件是我们经过预处理后的代码。

2024-08-16 16:38:25 435

原创 CPP_CH01_第一个C++程序

如果只是单纯的要编译,直接ctrl+f7,可以调试。此时file1,file2分别生成了一个file1.obj,file2.obj.然后一个项目有一个xxx.lnk文件,将这些obj链接在一起,生成可执行文件project.exe。如果在file1中,编译器相信我们,但是我们辜负了他的相信,file2中我们并没有定义my_printf(),在build项目时就会出现链接错误。在file1中,为什么我们只是告诉了编译器有这个函数叫my_printf(),而没有说他的body是什么,编译器就通过了呢?

2024-08-15 11:22:54 688

原创 数据结构 _CH03_线性表(顺序表)

线性表是相同特性元素的一个有限序列ai-1是ai的直接前驱ai+1是ai的直接后继a1又称起始结点an又称终端结点i是序号,表示元素在线性表当中的位置n表示表长n = 0表示空表数据元素ai只是一个抽象符号,在不同条件下,其具体含义不一样。e.g.1e.g.2。

2024-08-12 09:18:20 884

原创 C语言—CH10—字符函数与字符串函数

strcpystrcatstrcmp都是长度不受限制的字符串函数所以有长度受限制的函数strncpystrncatstrncmp都多了一个参数size_t num,即字节数。last += 4;x < count;} return 0;

2024-08-05 18:39:05 782

原创 数据结构_CH02_算法与算法分析

求解问题方法和步骤的一个描述。是指令的有限序列,每个指令表示一个或多个操作。

2024-08-04 09:24:45 890

原创 数据结构_CH01_数据结构研究

参数表可以细分:赋值参数:只为操作提供输入值引用参数:用&链接,除了可以提供输入值外,还将返回操作结果。G = scan(G,n)可以写成scan(&G,n)初始条件执行操作前数据结构和参数应该满足的条件,如果不满足则操作失败,如果初始条件为空,则忽略操作结果正常操作后返回什么结果,或者数据结构状态发生什么样的变化。

2024-08-02 23:12:40 592

原创 C语言-CH09-数据存储

不管大端还是小端,只要先存的先取出就行了。

2024-07-30 22:46:23 833

原创 python期末复习----上

注意:本文仅仅是自己复习所用,只包含我所需要熟悉的知识点。

2024-07-03 20:28:55 638

原创 C语言--CH08--结构体(初阶)

int num;//定义int main()struct human = {"张三",185.2,70.3,123456798};//初始化return 0;如果结构体中还有结构体,该如何初始化?int num;//定义int sex;//1男2女int birth;int main()struct human = {"张三",185.2,70.3,123456798};//初始化。

2024-06-03 10:46:41 279

原创 C语言--CH06--操作符(下)

这里的意思是,先把a的值给b,即b= 12,再执行b++,即b+1。函数调用操作符有1+n个操作数:函数名(1个),内部参数(n个),n = 0合法。因为sizeof(a)和sizeof a都是合法的,即sizeof可以省略扩号。按位取反即按二进制位取反,是一个整数的补码某一位上为0则变成1,为1则变成0。[]的操作数,一个是arr,一个是7。定义了一个叫s的Stu类型的变量,开辟了一个空间,创建了实参n,拷贝了形参s,并在拷贝的区域储存了值,之后返回的值并不是n的而是,s的,此时s的内存里还是。

2024-06-01 17:15:55 775

原创 C语言--CH05--操作符(上)

操作符上:算数、移位、位操作符

2024-05-31 15:36:49 502

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除