自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第十一章 类和对象——第5节 运算符重载

对加号进行重载后,Person类的实例化对象可直接使用+相加,有“成员函数”与“全局函数”两种实现方式,也同样可以函数重载。作用:解决关系运算符无法对自建数据类型进行判定的问题,关系运算符包括。特点:仿函数的写法不固定,体现在第二个括号中的传参可根据需求任意选择。作用:通过函数对运算符进行重新定义,实现对自定义数据类型的操作。特点:只能在全局函数实现,类内方式会导致cout与p的顺序出错。作用:解决拥有在堆区开辟属性的类的对象浅拷贝问题。匿名函数对象:9-10行的操作可用。来代替,称为匿名函数对象。

2025-08-13 23:41:26 307

原创 第十一章 类和对象——第4节 友元

若为单向调用,即B类中未提及A类,则将B在前定义,A在后定义,直接在A类中实现该成员函数若为双向调用,即B类中也提及A类,则将A在前定义,B在后定义 ,对B类进行。

2025-07-29 23:20:04 350

原创 第十一章 类和对象——第3节 C++对象模型与this指针

C++中空指针可以调用成员函数,但是要注意是否使用了this指针,若用到this指针,则需要加判断语句保证代码的健壮性。的效果,修改的是临时对象的age属性,且无法确定Temp对象的位置。的含义是对象自身的age属性,是个int类型的值,而在第17行想要实现的效果是。this指针隐含在每一个非静态成员函数中,指向 调用该成员函数的 对象。那么返回值应该是对象本身,this作为指向对象的指针,,test函数中对实例化对象的指针赋空,调用成员函数。的问题,this指向调用成员函数的对象。

2025-07-25 16:27:26 514

原创 第十一章 类和对象——第2节 对象的初始化和清理

是函数的局部变量,存放于栈区,栈区中的局部变量会随着函数调用结束而被销毁,故结果显示调用了Person类的构造函数和析构函数。注意:在调用默认构造函数时,无需加括号,否则编译器会认为是一个“返回值为Person,名称为p1的函数声明”,不认为在创建对象。是全局变量,存放于全局区,在程序结束之后由编译器自动释放,故结果只显示调用了Person类的构造函数(因为还没有结束程序),故释放0x0011指向的地址。:若属性有在堆区开辟的,一定要自己提供拷贝构造函数,进行深拷贝,防止浅拷贝带来的问题。

2025-07-24 21:27:02 960

原创 第十一章 类和对象——第1节 封装

这样做的好处在于:把属性读写的权限交还给程序员,将属性设为私有后,只有拥有对应的读写方法函数才能对其进行访问修改。:成员 在 类内可以访问,类外不可以访问;子类不可以访问父类中的内容。:成员 在 类内可以访问,类外不可以访问;:类在设计时,可以把属性和行为放在不同的权限下,加以控制。:将所有成员属性设置为私有,可以自己控制读写权限。,表示该函数为Point类作用域下的成员函数。:成员 在 类内可以访问,类外可以访问。:对于写权限,我们可以检测数据的有效性。类中的属性与行为的统称。:放置Point类的实现。

2025-03-16 23:03:59 863

原创 第十章 函数提高

1.作用:函数名可以相同,以提高复用性2.需要满足的条件同一个作用域下函数名称相同函数参数的类型不同或个数不同或顺序不同。

2025-03-15 17:33:04 784

原创 第九章 程序的内存模型

​ 1.在32位系统(x86)中,不要返回局部变量的地址,因为“局部变量存放于栈区,栈区的数据在函数执行完后会自动释放”解释:32位系统会为局部变量自动保留一次值,所以第一次打印该地址中的值时显示正确;​ 1.包含全局变量、静态变量、常量区、字符串常量、由const修饰的变量。:用于修饰变量,使该变量变为只读的常量,被const修饰的变量不能作为左值。​ 在程序编译后,生成了exe可执行程序,在未执行该程序前分为两个区域。​ 2.该区域的数据在程序结束后。得到的是该堆区的首地址。

2025-02-04 21:00:03 725

原创 1~8章综合实例——通讯录管理系统(代码)

综合实例——通讯录管理系统。

2024-11-20 23:21:45 255

原创 第八章 结构体

struct 结构体名 {结构体成员列表}int age;int score;struct 结构体名 结构体变量名+ 各属性分别初始化s1.name = "张三";struct 结构体名 结构体变量名 = {……}struct Student s1 = {"张三" , 18 , 100};定义结构体类型时直接创建结构体变量+ 各属性分别初始化int age;int score;}s1;s1.name = "张三";注意。

2024-11-18 12:51:34 880

原创 第七章 指针

***************输出结果***************/变量名地址值a1000pp = &a*p = a指针本身作为一个变量,其也有自己的地址,但是目前对用户没啥用易错:指针变量是p而非*p,在定义时p的数据类型为 int*指针变量的数据类型取决于其指向地址中存储的数据的类型在64位系统中,所有数据类型的指针都占8 Byte,因为存的是地址,地址长度是固定的,32位是4Byte。

2024-11-17 21:14:32 577

原创 第六章 函数

1.语法/*********** 函数定义 ***********/ 返回值类型 函数名(形参列表) {函数体内容…… return 表达式 } /*********** 函数调用 ***********/ 函数名(传入实参)2.实例/************************** 实现角度与弧度制互换 ****************************/#define pi3.1415926/********** 弧度值--->角度值 **********/

2024-11-17 14:44:28 1007

原创 第五章 数组

只有行数不行吗?​ 以数组arr={1,2,3,4,5,6,7,8,9} 为例​ ----> 只有列数的话,假设列数为3,则相当于知道了每行的元素个数,那么系统将数组元素一个个放入时,每放3个元素便会自动跳到下一行,直到把9个元素全部填入​ ----> 只有行数的话,同样假设为3,相当于系统知道有三行,但是填入数组元素的时候,由于每行元素个数不定,故可以看做每行可以放无穷的元素。系统不会将元素平均分成三份分别给每一行分配,因为数组元素可以为空2.索引方式:除了类似于。

2024-11-15 23:27:32 348

原创 第四章 程序流程结构

2.解释:先执行do中的语句,再去判断while中的条件,若为真则进入下一次循环。​ 若表达式1的值为假 —> 执行表达式3,并返回表达式3的值。2.解释:若表达式1的值为真 —> 执行表达式2,并返回表达式2的值。​ ②case后的缩进处可以放置不止一个表达式。3.注意:在C++中三目运算符若返回的是变量,可以继续赋值。2.优缺点:结构清晰且执行效率高,但判断的表达式。2.解释:当条件为真时,执行{ }中的语句。2.作用:强制跳转代码位置,不建议使用。

2024-11-15 20:49:56 400

原创 第三章 运算符

不为幂运算符,C++中的幂运算,只能连乘或使用<math.h>里面的pow函数。1.两个整数相除,结果仍然为整数(取整数部分)2.两个小数无法作取模运算,至少要有一个整数。3.注意在C++中,

2024-11-14 23:38:44 240

原创 第一章 关于程序框架的问题

由于有一部分的C语言基础,所以第一章并没有按照黑马的课程来介绍变量常量这些基础知识,而是对其所提供的C++程序的简单框架中不懂的点进行了记录。

2024-11-12 23:01:52 202

原创 Visual Studio 2022 编译C++文件,点击“本地Windows调试器”后,弹窗显示“请选择有效的启动项”问题的解决方案

解决方法:要用VS打开.sln后缀的文件(该文件为解决方案文件,表示一个项目组,通常包含一个项目中所有的工程文件信息),如下图。之后便可正常的在源文件中添加cpp文件并正常运行。问题出现过程:使用Visual Studio打开了包含cpp文件的文件夹,并在文件夹中添加了新的cpp文件,编译运行该文件时,弹出“请选择有效的启动项”的提示框。

2024-11-12 22:53:09 2575

原创 第二章 数据类型

数据类型空间占用取值范围short(短整型)2Byteint(整型)4Bytelong(长整型)4Byte(Windows&32位Linux),8Byte(64位Linux)long long(长长整型)8Byte注意:若变量值超出取值范围,则自动变为取值内的对应值,如// short类型的取值范围为(-32768~32767)// 输出结果为:val = -32767。

2024-11-11 22:45:07 464

空空如也

空空如也

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

TA关注的人

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