自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第七章:重载操作符

重载操作符不能改变操作符的用法,原来有几个操作数、操作数在左边还是右边,这些都不会改变。,否则就改变了运算符操作数的个数,这显然是错误的。还有一些操作符只能在类内重载,,操作符必须被定义为类成员操。不能重载的运算符:长度运算符。不能创建新的运算符。

2023-09-07 15:03:52 65

原创 第六章:探索程序

对带参的宏而言,由于是直接替换,并不会检查参数是否合法,也并不会计算求解,存在一定的安。如果执行函数体内代码的时间,相比于函数调用的开销较大,那么效率的收获会很少。类、结构中在的类内部声明并定义的函数默认为内联函数,如果类中只给出声明,在类外定义的函。基于宏逻辑判断,在大量头文件时,编译速度降低,耗时增加,而且需要考虑宏重名的问题。面,每一处内联函数的调用都要复制代码,将使程序的总代码量增大,消耗更多的内存空间。类:编译期的概念,包括类成员函数,静态属性,作用域,访问修饰符。宏,结构体和类的定义。

2023-08-31 20:31:13 64

原创 第四章:类成员关系

父类和子类中中同名的函数存在互为隐藏的关系,要想使用父类需要显示指定父类类名作用域。子类继承父类后,成员在内存空间分布为:先父类成员后子类成员。若子类无对应的函数参数列表,则父类被隐藏。的整体操作符,作用是定义类成员函数指针。通过对象调用类成员函数指针指向的函数。

2023-08-31 20:26:20 54

原创 第五章:多态

在多态下,父类的指针指向子类的对象,最后在回收空间的时候,是按照父类的类型来回收的,只调用。编译器会检查子类是否重写父类的虚函数,如果重写,子类的虚函数会替换掉父类的虚函数,即覆。当前类不必实现,而子类必须要重写实现父类的纯虚函数,如果父类的纯虚函数没有被重写,生的,只有继承的子类才知道如何实现,可以把父类的虚函数变为纯虚函数。如果子类没有重写父类的虚函数,父类虚函数会保留在子类的虚函数列表。在继承状态下,父类指针指向子类对象,通过该指针调用虚函数。虚函数列表是属于类的,父类和子类都会有各自的虚函数列表,

2023-08-28 17:19:04 42

原创 第三章:类成员进阶

属于类的,编译期存在,一个类中存在一份,被多个对象所共享,存在与否与是否定义对象无关。的变量在定义的时候必须要初始化,且初始化是在初始化参数列表中完成的,不能在函数体内。常函数能调用静态成员函数,但是静态成员函数不能调用普通成员函数以及常函数。静态成员函数 是否通过对象调用都可以,一般的成员函数必须通过对象调用。静态成员函数 只能使用静态的成员,一般的成员函数都可以使用。作用:指向了调用该函数的对象,在函数中使用其他成员都是通过。注意:静态成员函数不能使用一般的成员函数。普通的类成员函数可以调用常函数、

2023-08-28 17:13:20 26

原创 第二章:类基础

:完成某一功能的数据和算法的集合,是一个抽象的概念。对象:类的一个实例,具体的概念,是真正存在于内存中的。,先调用析构函数用来回收额外申请的空间,编译器再。当对象的生命周期结束时,在回收对象空间。

2023-08-28 17:11:54 22

原创 NULL和nullptr的区别,引用和指针的区别

引用初始化后就不能再重新引用其他的变量、空间,指针可以随意指向。引用定义了就要初始化,指针可不用初始化(但不推荐)指针变量额外占用空间,引用不额外申请空间。指针可以有多级,但引用只能有一级。关键字,一个明确的含义,空指针。解决了在函数重载的情况下,数字。和空指针混淆)的问题。

2023-08-28 17:11:15 100

原创 函数c++

函数重载:在同一个作用域,函数名相同,参数列表(参数类型,数量,顺序)不同,与返回类型无关。判断题:一个类中定义了两个同名且参数列表也相同的函数,但其中一个是静态成员函数。值传递,地址传递,引用传递的函数传参方式构成重载关系。(可同可不同),这样的函数即为函数重载。,不是函数重载,是函数重定义。时不构成重载,构成重定义。

2023-08-28 17:10:04 52

原创 c++字符串基础

【代码】c++字符串基础。

2023-08-28 17:07:54 18

原创 第一章:c++基础

面向对象的优点:易维护,易复用,易扩展,由于面向对象有封装,继承,多态的特征,可以设计出低。面向对象编程是以对象为中心,他要解决的问题分解成各个对象(变量,数据)而不是各个流程,步。骤,更注重对象与对象的交互(而不是方法与方法,数据与方法),步骤是分析参与问题的有哪些实。体,这些实体应该有什么属性和方法,如何通过调用这些实体的属性和方法解决问题。面向过程编程的主体是函数,他以函数为中心,自上而下,顺序执行,逐步细化。缺点:性能比面向过程低,因为类调用时需要实例化,开销比较大,消耗资源。

2023-08-28 17:04:51 19

原创 c++:bool for nullptr

/sizeof§==4 无法遍历 for (int v: p)BOOL B = TRUE;//1.本质BOOL为typedef int BOOL;//区别区别: nullptr 是C++中的关键字,NULL 宏 替换 0;//消除 在函数重载的情况下,0 空指针和整型含义不明确的问题(混用的问题)//2.BOOL是四个字节,bool是一个字节。//为什么要使用nullptr?//nullptr是一个关键字。//增强的范围for循环。

2023-06-25 13:11:57 69

原创 类链表和使用

/释放指针所对应的地址的空间。

2023-06-21 12:39:18 63

原创 new和delete

【代码】new和delete。

2023-06-02 14:59:07 34

原创 c++面向过程和面向对象

【代码】c++面向过程和面向对象。

2023-06-02 14:57:22 36

原创 typedef的用法

int是数据类型,age是整型变量。例如,如果使用 short int 类型来定义变量,可能在不同的编译器上会有不同的长度,导致代码的可移植性受到影响。使用 typedef 定义一个新的类型名称,可以确保该类型在不同的编译器上都具有相同的长度和语义。总之,typedef 是一个非常有用的关键字,它可以提高代码的可读性、简化复杂的类型声明,以及提高代码的可移植性。提高代码可移植性:由于不同的编译器对数据类型的定义可能存在差异,使用 typedef 可以提高代码的可移植性。typedef是类型定义的意思。

2023-06-02 14:52:40 137

原创 typedef的用法

int是数据类型,age是整型变量。例如,如果使用 short int 类型来定义变量,可能在不同的编译器上会有不同的长度,导致代码的可移植性受到影响。使用 typedef 定义一个新的类型名称,可以确保该类型在不同的编译器上都具有相同的长度和语义。总之,typedef 是一个非常有用的关键字,它可以提高代码的可读性、简化复杂的类型声明,以及提高代码的可移植性。提高代码可移植性:由于不同的编译器对数据类型的定义可能存在差异,使用 typedef 可以提高代码的可移植性。typedef是类型定义的意思。

2023-05-02 20:35:33 84

原创 数组指针和指针数组

每一个一维数组又包含了 4 个元素,例如 a[0] 包含 a[0][0]、a[0][1]、a[0][2]、a[0][3]。1.数组指针简单理解为“数组的指针”,首先这个变量是一个指针,其次,”数组”修饰这个指针,意思是说这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地址。2.指针数组简单理解为“指针的数组”,首先这个变量是一个数组,其次,”指针p”修饰这个数组,意思是说这个数组的所有元素都是指针类型。把一维数组a[0]和a[1]的首地址分别赋予指针变量数组的数组元素p[0]和p[1]。

2023-04-22 13:11:14 45

原创 多级指针的应用

看上面这串代码,指针变量的“基类型”用来指定该指针变量可以指向的变量的类型,即该指针变量只能存放什么类型变量的地址。p 表示 p 指向的是 int 型变量,也就是说里面只能放int类型的变量地址。所以对于多级指针我们一定要将p或者q等当作一个变量,将int*****等当作一个一个类型来看就可以了。的含义&i就是取i的地址,所以这句话表达的是将i的地址放在了变量p中。int *p 它的意义是定义了一个指针变量p,p存放的是整型变量的地址。p是我们的int类型,p是表示的a的地址,我们在存放p时使用int。

2023-04-21 15:58:32 50

原创 指针-指针类型

int 变量的指针需要用 int 类型的指针存储,float 变量的指针需要用 float 类型的指针存储。1.指针就是一个变量(指的是指针变量),指针是用来存放地址的,地址唯一标识一块内存空间。x 和 y 在这里可以理解为具体的房间,房间 x 的门牌号(地址)是 px,房间 y 的门牌号(地址)是 py。3.指针是有类型的,指针的类型决定了指针的±整数的步长(+1或者-1会跳过几个字节),指针解引用操作的时候的权限。2.指针的大小是固定的,在32位系统下是4个字节,在64位系统下是8个字节。

2023-04-19 10:47:09 74

原创 右移一位和除二的区别

int型数据:-1=(1000,0001B)原=(1111,1110B)反=(1111,1111B)补=(FFH)补。[X-Y]补=[X]补+[-Y]补,通过双高位识别法进行溢出判断。1.只有整型数据才能用移位替代乘除法,如:char、short、int、long、unsigned char、unsigned short、unsigned int、unsigned long。通常如果需要乘以或除以2的n次方,都可以用移位的方法代替,大部分的C编译器,用移位的方法得到代码比调用乘除法子程序生成的代码效率高。

2023-04-17 18:49:58 564

原创 溢出现象与原码

位(bit)是计算机中处理数据的最小单位,其取值只能是 0 或 1。字节(Byte)是计算机处理数据的基本单位,通常系统中一个字节为 8 位。即:1 Byte=8 bit。为便于演示,本节表示的原码、反码及补码均默认为 8 位。准确地说,数据在计算机中是以其补码形式存储和运算的。在介绍补码之前,先了解原码和反码的概念。正数的原码、反码、补码均相同。原码:用最高位表示符号位,其余位表示数值位的编码称为原码。其中,正数的符号位为 0,负数的符号位为 1。

2023-04-16 12:21:49 536 1

原创 # C语言大整数加法

一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。有两行,每行是一个不超过200位的非负整数,没有多余的前导0。求两个不超过200位的非负整数的和。

2023-04-15 19:18:13 113

原创 C语言基本数据类型

使用printf()要注意,每一个待打印值都要有一个对应的 转换说明,转换说明还要和待打印类型匹配避免出现不必要的问题。

2023-04-14 12:28:43 414 1

原创 【无标题】

hello程序调用了printf函数,这个每个C编译器都会提供的标准C库中的一个函数,printf函数存在于一个名为printf.o的单独预编译好了的目标文件中,(我对这段话的理解是printf函数最开始是在一个printf.c文件中实现的,然后经过预处理、编译、汇编形成了目标文件printf.o,,可能每一个自己程序中非自己亲手实现的函数都是一个以.o为后缀的目标文件,然后在链接阶段由链接器(ld)把这所有的目标文件合并,最终实现完整的程序,,可以被加载到内存,由系统执行。

2023-04-13 20:51:33 71 3

空空如也

空空如也

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

TA关注的人

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