C++小白
文章平均质量分 52
实战
LuckySuper _ W
这个作者很懒,什么都没留下…
展开
-
0 C++指针
c++指针原创 2023-06-25 11:36:13 · 66 阅读 · 0 评论 -
1内存分区模型
C++内存分区模型原创 2023-06-24 22:28:35 · 121 阅读 · 0 评论 -
2C++引用
void showPrint(const int &a)//a值不可修改。Int &ref=a;相当于int*const ref=&a;cout << "a的地址" << &a << endl;cout << "b的地址" << &b << endl;cout << "a的地址"<<&a << endl;cout << "b的地址"<<&b << endl;2.返回函数做左值,返回的是局部变量而不是局部变量的值。作用:函数传参时,可以利用引用的技术让形参修饰实参。原创 2023-06-26 10:59:18 · 82 阅读 · 1 评论 -
3函数提高
(1)如图所示,调用函数func中有参数,就会覆盖函数定义中的初始化参数值。调用函数为func(10)会调用func(const int&a);(2)函数定义某个位置有默认参数,从这个位置右边都要有默认参数。(3)如果函数声明有默认值,那么函数实现就不能有默认值。调用函数为func(a)会调用func(int&a);引发函数二义性报错,所以有函数重载最好不定义默认参数。函数定义:返回值类型 函数名(数据类型){}函数参数类型不同或者个数不同或者顺序不同。(3)函数重载遇到默认参数。(2)函数重载注意事项。原创 2023-06-28 11:29:01 · 70 阅读 · 1 评论 -
4类和对象之-封装
行为:人为对象,它的跳高跳远,走路都是其行为。cout原创 2023-06-30 10:27:15 · 80 阅读 · 1 评论 -
5类和对象之-对象初始化和清理
C++利用构造函数和析构函数去解决这两个问题,这两个函数编译器会自动调用,完成对象初始化和清理工作。对象初始化和清理工作是编译器要我们去做的事情,我们如果不提供构造和析构,编译器会自动提供构造和析构函数的空实现。主要用于创建对象时为对象成员属性赋值,构造函数由编译器自动调用,无需手动调用。C++面向对象来源于生活,每个对象都会有初始化设置和对象销毁前清理数据处理。如果用户定义有参构造函数,c++不在提供无参构造,但是会提供默认拷贝构造。语法:构造函数():属性1(值1),属性2(值2)…原创 2023-07-02 21:38:15 · 84 阅读 · 1 评论 -
6类和对象特性-C++对象模型和this指针
C++中空指针也可以调用成员函数,但是也要注意有没有用到this指针。在类的非静态成员变量中返回对象本身,可用return*this。静态成员变量和静态成员函数以及非静态成员函数都不属于类的对象上。成员属性声明时加关键字mutable后,在常函数中依然可以修改。this指针隐含每一个非静态成员函数内的一种指针。在C++中,类的成员变量和成员函数分开存储。this指针指向被调用的成员函数所属对象。成员函数后加const称该函数为常函数。声明对象前加const称该对象为常对象。常对象智能调用常函数。原创 2023-08-11 23:07:27 · 31 阅读 · 1 评论 -
7类和对象之友元
友元:友元的目的就是让一个函数或者类访问另一个类中私有成员属于特殊情况,比如亲人之类的开后门友元关键字:friend友元的三种实现全局函数做友元类做友元成员函数做友元。原创 2023-08-12 18:02:55 · 21 阅读 · 1 评论 -
8类和对象之运算符重载
运算符重载概念:对已有的运算重新进行定义,赋予其另外一种功能,以适应不同的数据类型。原创 2023-08-12 18:04:07 · 31 阅读 · 1 评论 -
9类和对象之继承
私有继承:父类三种成员public,protected变私有,private访问不到。1羊继承了动物数据,驼也继承了动物数据当羊驼继承数据时就会产生二义性。语法:class 子类:继承方式父类1,继承方式 父类2....结论:继承中先调用父类构造,子类构造,再调用子类析构,父类析构。当子类和父类出现同名成员,如何通过子类对象,访问子类或父类成员。1父类私有成员子类访问不到 2子类类外访问不了保护权限。1父类私有成员子类访问不到 2子类类外访问不了保护权限。继承的语法:class 子类:继承方式 父类。原创 2023-08-12 18:06:01 · 48 阅读 · 1 评论 -
10类和对象之多态
多态分两类静态多态:函数重载和运算符重载属于静态多态,复用函数名动态多态:派生类和虚函数实现运行多态静态多态和动态多态区别:静态多态函数地址早绑定-编译阶段确定函数地址动态多态的函数地址晚绑定-运行阶段确定函数地址。原创 2023-08-12 23:01:08 · 32 阅读 · 1 评论 -
11C++提高编程之模板
解决方式2:将声明和实现写道同一个文件夹中,并更改后缀名为.hpp,hpp是约定的名称,并不是强制。建立一个通用函数,其函数返回值类型和形参类型可以不具体指定,用一个虚拟的类型来带代表。1当子类继承的父类时一个类模板时,子类在声明的时候,需指定父类中T的类型。1.模板并不是万能的,有些特定的数据类型,需要具体化方式做特殊实现。(1)自动类型推导,必须推导出一致的数据类型T,才可以使用。(3)如果利用显示指定类型的方式,可以发生隐式类型。(2)模板必须要确定出T的数据类型,才可以使用。原创 2023-08-13 23:11:06 · 77 阅读 · 1 评论