自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 类和对象——静态成员

静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员。静态成员函数只能访问静态成员变量。所有对象共享同一份数据。类内声明,类外初始化。所有对象共享一个函数。示例1:静态成员变量。示例2:静态成员函数。

2024-07-27 20:38:15 504

原创 C++ 类和对象——对象特性——类对象作为类成员

C++类中的成员可以是另一个类的对象,我们称该成员为 对象成员。那么当创建B的对象时,A和B的构造和析构的顺序应该谁先谁后?B类中有对象a作为成员,a为对象成员。

2024-07-15 15:18:19 211

原创 C++ 类和对象——对象特性——初始化列表

语法: 构造函数():属性1(值1),属性2(值2)... { }C++提供了初始化列表语法,用来初始化属性。

2024-07-15 14:39:14 201

原创 C++ 类和对象——对象特性——深拷贝和浅拷贝

如果属性有在堆区开辟的,一定要自己提供拷贝构造函数,防止浅拷贝带来的内存重复释放问题。深浅拷贝是面试经典问题,也是常见的一个坑。深拷贝:在堆区重新申请空间,进行拷贝操作。浅拷贝:简单的赋值拷贝操作。

2024-07-14 16:14:53 288

原创 C++ 类和对象——对象特性——构造函数调用规则

默认情况下,c++编译器至少要给一个类添加三个函数。3.默认拷贝构造函数,对属性进行值拷贝。1.默认构造函数(无参,函数体为空)2.默认析构函数(无参,函数体为空)

2024-07-14 14:36:18 186

原创 C++ 类和对象——对象特性——拷贝构造函数调用时机

C++中拷贝构造函数调用时机通常有三种情况。运行结果(vs2022平台下)

2024-07-13 17:54:50 459

原创 C++ 类和对象——对象特性——函数的分类以及调用

如果把显示法等号右边的单独拿出来,叫匿名对象,系统创建了一个对象,只不过这个对象没有名称,但如果把它放在等号右侧,那么等号左侧就是这个对象的名称了。不要利用拷贝构造函数来初始化匿名对象 编译器会认为 Person (p7) 等价于 Person p7,会认为是对象声明。因为下面这行代码,编译器会认为是一个函数的声明,在一个函数体的内部是可以写另一个函数的声明的。//匿名对象 特点:当前行执行结束后,系统会立即回收掉匿名对象。按参数分为:有参构造和无参构造。按类型分为:普通构造和拷贝构造。

2024-07-13 17:01:08 615

原创 C++ 类和对象——对象特性——构造函数和析构函数

4.程序在调用对象时候会自动调用构造,无须手动调用,而且只会调用一次。4.程序在对象销毁前会自动调用析构,无须手动调用,而且只会调用一次。同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题。解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。对象的初始化和清理工作是编译器强制要我们做的事情,因此如果我们。3.析构函数不可以有参数,因此不可以发生重载。2.函数名称和类名相同,在名称前加上符号~1.构造函数,没有返回值也不写void。运行结果:(ctrl +F5执行代码)

2024-07-09 13:59:33 361

原创 C++ 分文件编写类和对象的案例:点和圆的关系

例如,该案例中圆类和点类的声明和实现可以分别放在四个文件中实现,而在主函数页面,只留下一个全局函数和一个main函数测试代码,想用圆类和点类的话,只需要加上点类和圆类的头文件即可。若在该类的.h文件编写时,函数的声明过程中用到了其他类的函数或者变量,则要包含其他类的头文件。每个类的声明可以单独写一个.h头文件,而该类的实现可以单独写一个.cpp文件。,一个类的实现过程(在.cpp文件里编写)要包含该类的声明文件(.h文件)在.h文件中,一般只需要包括函数的声明和变量的声明就可以了。在大型程序编写时,可以。

2024-07-08 23:16:30 163

原创 C++ 类和对象——封装——设计案例2——点和圆的关系

设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。

2024-07-08 22:51:17 147

原创 C++ 类和对象——封装——设计案例1——立方体类

分别用全局函数和成员函数判断两个立方体是否相等。三边长:长:m_L;设计立方体类(Cube)求出立方体的面积和体积。

2024-07-08 21:25:42 177

原创 C++ 成员属性设置为私有

如果想设置某些属性的读写权限,可以将成员属性全部设置为私人权限,额外添加针对每个属性的公共权限下的读或者写的函数。将所有成员属性设置为私有,可以自己控制读写权限。对于写权限,我们可以检测数据的有效性。

2024-07-08 17:34:28 463

原创 C++ 类和对象——封装——C++中class和struct的区别

在编写代码时,创建类不想用class关键字,用struct关键字也可以,不过要清楚的是,struct关键字创立的类的访问权限是公共的,而class关键字创立的类的访问权限是私有的。在C++中struct和class唯一的。

2024-07-08 15:45:00 215

原创 C++ 类和对象——封装——访问权限

类在设计时,可以把属性和行为放在不同的权限下,加以控制。

2024-07-08 15:33:28 312

原创 C++ 类和对象——封装——属性和行为作为整体

人可以作为对象,属性有姓名、年龄、身高、体重...,行为有走、跑、吃饭、睡觉...车也可以作为对象,属性有轮胎、方向盘、车灯...行为有载人、放音乐、开空调...示例2:设计一个学生类,属性有姓名和学号,可以给学生姓名和学号赋值,可以显示学生的姓名和学号。在设计类的时候,属性和行为写在一起,表现事物。类中的属性和行为 统一称为 成员。属性 也称为 成员属性、成员变量。行为 也称为 成员函数、成员方法。示例1:设计一个圆类,求圆的周长。,对象上有其属性和行为。

2024-07-08 15:11:02 310

原创 C++ 函数高级——函数重载——注意事项

示例:

2024-07-07 20:00:12 187

原创 C++ 函数高级——函数重载——基本语法

注意:函数的返回值不可以作为函数重载的条件。函数名可以相同,提高复用性。

2024-07-07 19:41:11 360

原创 C++ 函数高级——函数的占位参数

C++中函数的形参列表里可以有占位参数,用来做占位,调用函数时必须填补改位置。在现阶段函数的占位参数存在意义不大,但是后面的课程中会用到该技术。语法: 返回值类型 函数名(数据类型){ }

2024-07-07 19:25:01 264

原创 C++ 函数高级——函数的默认参数

语法:返回值类型 函数名 (参数 = 默认值){ }在C++中,函数的形参列表中的形参是可以有默认值的。

2024-07-07 18:54:31 180

原创 C++ 引用——常量引用

常量引用主要用来修饰形参,防止误操作。在函数形参列表中,可以加。

2024-07-07 16:26:35 271

原创 C++ 引用——引用的本质

本质:示例:

2024-07-07 15:53:17 647

原创 C++ 引用做函数返回值

作用:引用是可以作为函数的返回值存在的。注意:不要返回局部变量引用。用法:函数调用作为左值。

2024-07-07 14:20:27 220

原创 C++中的引用——引用做函数参数

函数传参时,可以利用引用的技术让形参修饰实参。可以简化指针修改实参。

2024-07-05 16:56:54 210

原创 C++中的引用——引用的注意事项

2.引用在初始化后不可以改变。

2024-07-05 16:22:06 190

原创 C++ 引用——引用的基本语法

数据类型 &别名 = 原名。

2024-07-05 14:36:43 243

原创 C++ 程序的内存模型——new运算符

堆区开辟的数据,由程序员手动开辟,手动释放,释放使用操作符。利用new创建的数据,会返回该数据对应的类型的指针。语法:new 数据类型。操作符在堆区开辟数据。

2024-07-02 15:34:47 242

原创 C++ 程序的内存模型——内存四区——堆区

由程序员分配释放,若程序员不释放,程序结束时由操作系统释放。在C++中主要用new在堆区开辟内存。

2024-06-30 16:46:34 251

原创 C++ 程序的内存模型——内存四区——栈区

注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放。由编译器自动分配释放,存放函数的参数值,局部变量等。

2024-06-30 16:31:47 164

原创 C++ 程序的内存模型——内存四区——代码区和全局区

堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统进行回收。全局区还包含了常量区,字符串常量和其他常量也存放在此。的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可。不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程。栈区:由编译器自动分配释放,存放函数的参数值,局部变量等。代码区:存放函数体的二进制代码,由操作系统进行管理的。的,使其只读的原因是防止程序意外地修改了它的指令。该区域的数据在程序结束以后由操作系统释放。在程序编译后,生成exe可执行文件,

2024-06-30 16:15:27 316

原创 通讯录管理系统——源代码

【代码】通讯录管理系统——源代码。

2024-06-29 20:20:10 166

原创 通讯录管理系统——清空通讯录

实现思路:将通讯录中所有联系人的信息清除掉,只要将通讯录记录的联系人个数置为0,做逻辑清空即可。功能描述:清空通讯录中所有联系人。1.封装清空联系人函数。2.测试清空联系人功能。一、封装清空联系人函数。二、测试清空联系人功能。

2024-06-29 20:17:25 311

原创 通讯录管理系统——修改联系人

设计思路:查找用户输入的联系人,查找成功进行修改操作,查找失败提示查无此人。功能描述:按照姓名重新修改指定联系人。1.封装修改联系人函数。2.测试修改联系人功能。一、封装修改联系人函数。二、测试修改联系人功能。

2024-06-29 20:00:12 324

原创 通讯录管理系统——查找联系人

实现思路:判断用户指定的联系人是否存在,如果存在,显示信息,不存在提示查无此人。功能描述:按照姓名查看指定联系人的信息。1.封装查找联系人函数。2.测试查找指定联系人。一、封装查找联系人函数。

2024-06-29 16:50:52 263

原创 通讯录管理系统——删除联系人——检测联系人是否存在

删除联系人前,我们需要先判断用户输入的联系人是否存在,如果存在删除,如果不存在,提示用户不存在所输入的联系人。因此我们可以把检测联系人是否存在封装在一个函数中,如果存在,返回联系人在通讯录中的位置,如果不存在,返回-1。根据用户输入的联系人判断通讯录中是否存在此人。功能描述:按照姓名删除指定联系人。查找到进行删除,并提示删除成功。1.封装检测联系人是否存在。一、封装检测联系人是否存在。2.封装删除联系人函数。3.测试删除联系人功能。二、封装删除联系人函数。三、测试删除联系人功能。

2024-06-29 15:17:13 223

原创 通讯录管理系统——显示联系人

思路:判断如果当前通讯录中没有人员,就提示记录为空;人数大于0,显示通讯录中信息。功能描述:显示通讯录中已有的联系人信息。二·、测试显示联系人功能。1.封装显示联系人函数。2.测试显示联系人功能。一、封装显示联系人函数。

2024-06-29 14:07:10 224

原创 05通讯录管理系统——添加联系人

功能描述:实现添加联系人功能,联系人上限为1000人,联系人信息包括姓名、性别、年龄、联系电话、家庭住址。思路:添加联系人之前先判断通讯录是否已满,如果满了就不再添加,未满情况下将新联系人信息逐个添加到通讯录中。设计时候可以在通讯录结构体中,维护一个容量为1000的存放联系人的数组,并记录当前通讯录中联系人的数量。添加联系人函数封装好后,在main函数中创建一个通讯录变量,这个就是我们需要一直维护的通讯录。联系人信息包括:姓名、性别、年龄、联系电话、家庭住址。五、测试添加联系人功能。一、设计联系人结构体。

2024-06-17 21:30:29 291

原创 04通讯录管理系统——退出功能实现

思路:根据用户不同的选项,进入不同的功能,可以选择switch分支结构,将整个架构进行搭建。当用户选择0时,执行退出,选择其他时先不做操作,也不退出程序。功能描述:退出通讯录。

2024-06-17 14:17:30 191

原创 03通讯录管理系统——菜单功能

1.封装函数显示该界面,如void showMenu()2.在main函数中调用封装好的函数。功能描述:用户选择功能的界面。

2024-06-14 15:41:40 186

原创 02通讯录管理系统——创建项目

打开vs2019后,点击创建新项目,创建新的C++项目。填写项目名称,选择路径。添加成功后,效果如图。

2024-06-13 17:53:21 215

原创 01通讯录管理系统——系统功能介绍

向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人·本教程主要利用C++来实现一个通讯录管理系统。通讯录是一个可以记录亲人、好友信息的工具。按照姓名重新修改指定联系人。显示通讯录中所有联系人信息。按照姓名进行删除指定联系人。按照姓名查看指定联系人信息。清空通讯录中所有信息。退出当前使用的通讯录。

2024-06-13 17:43:52 240

空空如也

空空如也

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

TA关注的人

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