自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++多态详解

特性重载(Overload)重写(Override)重定义 / 隐藏(Hide)是否发生继承关系否,通常在同一个类中是,派生类对基类虚函数的重新实现是,发生在派生类中是否函数名相同✅ 是✅ 是✅ 是参数列表❗不同(个数或类型不同)✅相同❗不同也可触发隐藏返回值类型可不同通常相同(支持协变返回类型)可不同是否必须是虚函数否✅ 是(基类中必须是virtual否(可是虚函数,也可以不是)与虚函数表关系无关✅ 修改虚函数表(vtable),支持运行时多态。

2025-05-06 11:30:05 1051

原创 C++继承基础总结

派生类可以重新定义(重写)基类中的成员函数,这与多态中的虚函数覆盖不同。当派生类定义了与基类同名的函数时,基类的函数会被"隐藏"。class Basepublic:private:public:void show() //重定义基类中的成员函数//调用基类的show函数private:d.show();//调用派生类的show函数名称隐藏规则:派生类中的同名函数会隐藏基类中的所有同名函数,无论参数列表是否相同作用域解析访问:可以使用作用域解析运算符显式访问被隐藏的基类函数。

2025-05-03 21:55:58 949

原创 C++类模板详解

当在类外定义成员函数时,需要在每个函数前添加模板声明public:private:T _value;// 类外定义成员函数四、类模板特化模板特化允许为特定类型提供自定义实现。

2025-05-02 21:54:33 277

原创 C++中string类的模拟实现(常用接口)

通过实现类,可以帮助我们深入了解了字符串处理和内存管理的基本原理。这个实现虽然简化了一些细节,但涵盖了string类的核心功能和设计思想。在实际的生产环境中,我们通常会使用标准库提供的,因为它经过了充分的测试和优化。但是,理解其内部实现对于编写高效、健壮的C++代码至关重要。希望这篇文章能帮助你更好地理解C++中字符串的工作原理,并在今后的编程中更加得心应手地使用它们。

2025-04-12 17:34:14 283

原创 c++一些基础语法解释

在c++中支持在函数定义或声明时给出参数的默认值,这里值得一提的是,在声明时给出了函数的默认值后,定义时无需再重复给出函数的默认值。参数的默认值可以全给或部分定义,但是当只给部分参数默认值时,缺省参数必须从右往左依次来给出,不能间隔。由于参数缺省的出现,c++得以支持函数重载,及多个函数的函数名相同,但形参不同(参数类型、顺序、个数不同)。注意若函数的函数名和形参相同,而返回值不同,是不构成函数重载的。2.2.2函数重载的原理c++中,一个程序运行需要经过一下四个阶段。

2025-03-31 17:42:03 235

原创 深度探讨程序运行的四大分区--从物理模型到实际应用

在运行个程序时,系统会自动为该程序分配唯一的内存四区,本文章主要从物理模型上帮助读者理解内存四区

2025-03-15 22:36:47 1011

原创 浅谈c++中四大区——全局区、代码区、栈区、堆区

在上面的程序中我们可以看到虽然局部变量local_p1和local_p2都存放着堆区的地址,但是由于local_p1和local_p2是存放在栈区的局部变量,出了函数体后就销毁,所以local_p1和local_p2本身的地址不相同,但他们所储存的堆区的地址是相同的,并且只要在程序中没有delete关键字就不会被销毁,这种开辟内存并不释放的行为称为内存泄漏,是一种极其危险的行为,因此现在的编译器都很智能,若是发现程序员不释放内存,会自动在程序结束时由操作系统回收,避免出现内存泄漏。

2024-07-17 12:24:27 360

原创 指针常量,常量指针傻傻分不清?一张图让你彻底理解

2024-07-15 15:03:54 115

原创 C++新手必学案例——猜数字(综合功能版)

【代码】C++新手必学案例——猜数字(综合功能版)

2024-07-08 15:59:26 127

原创 结构体内存对齐(深度刨析结构体大小)

深度解读c语言结构体大小

2024-03-04 22:37:12 409 2

原创 c语言数组名深度剖析

由于scanf是格式化将从控制台所读取到的数据附加到参数所指的位置,所以scanf最重要的事scanf()中的逗号后面要是一个正确的地址。而printf是格式化输出附加参数,所以printf更重要的是printf( )中的逗号后面是否是一个正确的参数。因为二维数组数组名代表第一行所有元素的地址,所以这里*arr得到的是第一行首元素的地址。因为一维数组数组名代表首元素地址,所以这里的*arr得到的这个一维数组的第一个元素,2.&数组名,这里的数组名表示整个数组,所以求出的是整个数组的地址。

2024-02-14 20:49:49 492 2

原创 如何输出一个矩阵的转置矩阵

若要输出对应矩阵的转置矩阵则思路非常简单,就是先将列输出,即将列固定,为外循环,行不断变化作为内循环。当我们输出三行四列矩阵一般都是先将行固定作为外循环,列不断变化,作为内循环。由此可见转置矩阵的实现方法非常简单,就是将行列循环语句交换条件,其他不变,下面我们有以三行四列矩阵作为例子。

2024-02-14 12:58:50 565 1

原创 编程小妙招:如何使得函数在返回参数时可以返回多个数值

借助结构体,我们就可以随心的控制所需要返回参数个数。

2024-02-01 20:16:30 581 1

原创 杨辉三角的实现思路与方法

杨辉三角我们在初中都已经有所了解,这里就不再涉及杨辉三角相关规律介绍。这里我们主要了解如何通过编程实现输出杨辉三角。

2024-02-01 15:35:57 442 1

原创 内存相关函数及其模拟实现

我们在学习字符串相关函数时,对于那些库函数---strcmp、strcpy等等,我们发现非常好用,唯独不满在于其只适用字符串,下面我来为大家介绍一些与上面具有类似功能,并且适用于所有类型的数据---内存函数。

2024-01-29 20:15:04 854

原创 初学者必考的四大字符串函数模拟实现:strlen,strcpy,strcmp,strcat(附图四大函数使用方式)

模拟四大字符串函数

2024-01-19 19:47:36 865 1

原创 这里收集了一些有关于指针的习题,掌握这些习题有助于新手更深的了解指针

/ 补码:1111 1111 1111 1111 1111 1111 1111 1100。//a强制转化成整型后加一,就相当于在a地址上加一,就相当于将指针后移一个字节。// 由于%p以16进制打印地址,所以内存存的是什么它就将其视作地址打印出来。//p强制转换成无符号长整型(十进制的正数),加一相当于是整数加一。//因为p是int(*)[4]类型,所以p加一跳过跳过四个整形。//p是一个结构体指针,加一后跳过一个结构体大小(20字节)//p中存放着字符串首地址,则单独的p就是a的地址。

2024-01-18 20:42:58 349 1

原创 使用冒泡排序模拟库函数

源代码:i < width;i++)*e1 = *e2;*e2 = tem;e1++;e2++;int i = 0;int j = 0;for (i = 0;i < sz - 1;i++)for (j = 0;j++)int main()i < sz;i++)return 0;

2024-01-16 21:40:21 336 1

原创 快速排序库函数qsort使用方法

int cmp_int(const void* e1, const void* e2)//注意这里必须写成const void*类型,因为作者当初在设计时就。int cmp_name(const void* e1, const void* e2)//比较字符串方式的函数。int cmp_age(const void* e1, const void* e2)//比较整形方式函数。//(数组首地址,数组元素个数,一个元素大小,比较方式函数地址)

2024-01-16 20:13:53 399 1

原创 c语言初学者必会俩种排序方法--冒泡排序&&选择排序

为了迎合c语言中指针,本文章形参部分全部用指针方式来接收实参int i = 0;int j = 0;for (i = 0;i < 9;j < 9 - i;int j = 0;for (i = 0;i < 9;i++)j < 10;for (i = 0;i < 10;i++)

2024-01-14 20:33:37 369 1

原创 通过函数回调实现简单计算器功能

printf("退出计算器\n");printf("选择错误\n");printf("请输入要计算的两个数:->");printf("请选择:->");

2024-01-14 18:47:31 430 1

原创 C语言初学者必会的三种自定义函数求字符串长度

/未符合条件则调用自己,每调一次就加一次,//记字符个数,每循环一次就加一,直到循环结束。int my_strlen(char* str)//用指针来接收。int my_strlen(char* str)//用指针来接收。if (*str!= '\0')//递归结束条件。//(str+1)表示让指针移动到下一个位置。else//达到递归条件,递归结束返回0。

2024-01-09 19:32:01 524 1

空空如也

空空如也

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

TA关注的人

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