![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 79
继续冲呀
只是想涨点知识呀
展开
-
2022.8.3 C++——C++类型转换方式1(static_cast)
C++类型转换方式———static_cast运算符原创 2022-08-03 21:51:38 · 469 阅读 · 0 评论 -
2022.7.30 C++——final和override关键字
final和override关键字原创 2022-07-30 21:26:34 · 697 阅读 · 0 评论 -
2022.7.22 C++——纯虚函数和抽象类
纯虚函数和抽象类原创 2022-07-22 20:58:52 · 503 阅读 · 0 评论 -
2022.7.15 C++——对象与对象的关系1(依赖、关联和聚合)
也就是说,在概念上,关联与聚合都是对象实例间的一种静态关系,都是在类的抽象层次上的定义,并且最终都可以通过对象的属性来体现。聚合关系所涉及的两个类型的对象,在现实世界中的含义有明显的“有一个”的语义,能够区分那个是整体,那个是部分。比如Point和Circle,Circle有一个Point,但是Point中没有Circle,说明Circle是整体,Point是部分。httpshttpshttpshttpshttpshttpshttpshttpshttpshttps。...原创 2022-07-15 21:56:45 · 1506 阅读 · 0 评论 -
2022.7.14 C++——静态成员(关键字static)
由关键字static修饰类体中成员,称为类静态成员。类的静态成员为其所有对象共享,不管有多少对象,静态成员只有一份存于公用内存中。静态数据成员被当作该类类型的全局对象。①设计静态数据成员目的是信息共享和信息交流;②类的静态数据成员为所有类对象所共享,不属于某个具体的实例;③类的静态数据成员必须在类外定义,定义时不添加static关键字,不能在构造函数的初始化列表中创建,因为每调用一次构建函数创建一次对象,但是ststic出现的时候,不管调不调用,都会有创建对象存在;...原创 2022-07-14 21:07:38 · 712 阅读 · 0 评论 -
2022.7.13 C++——友元
(1)友元(friend)机制允许一个类授权其他的函数访问它的非公有成员,也就是,加上友元后,可以访问类私有和保护成员;(2)友元声明以关键字friend开头,它只能出现在类的声明中,它们不受其在类体中的公有(public),私有(private)以及保护(protected),也就是,加上友元后,不管是公有,私有还是保护成员,都可以进行访问。(1)不具有对称性:A是B的友元,并不意味着B是A的友元;(2)不具有传递性:A是B的友元,B是C的友元,但A不是C的友元;(3)不具有继承性:Base类型继承原创 2022-07-13 21:45:18 · 446 阅读 · 0 评论 -
2022.7.12 C++——赋值运算符和运算符重载的总结
例1:赋值运算符如下:例2:注意:①任何情况下,不要将临时对象以引用返回,而且当函数结束,对象的生存期也会跟着结束;②想要赋值,等号左边一定要有对象,赋值是对象与对象之间进行赋值。①运算符重载函数的函数名必须为关键字operator加一个合法的运算符。在调用该函数时,将右操作数作为函数的实参。②当用类的成员函数实现运算符的重载时,运算符重载函数的参数(当为双目运算符时)为一个或(当为单目运算符时)没有。运算符的左操作数一定是对象,因为重载的运算符是该对象的成员函数,而右操作数是该函数的参数。原创 2022-07-12 20:37:30 · 223 阅读 · 0 评论 -
2022.6.26 C++——使用面向对象的思想实现栈和日期
灵活使用面向对象思想原创 2022-06-26 21:06:36 · 282 阅读 · 0 评论 -
2022.6.16 C++——运算符的重载(-/=等一些运算符)
用Complex例子示例:运行结果:结果分析:在程序运行中,执行cc = ca.operator-(cb);时,其实编译器底层执行的是cc=ca-cb;//cc=ca.operator-(cb);//cc=operator(&ca,cb);,这就可以很清楚的知道减法运算法在编译器底层的运行情况,也更容易理解程序。注意:在调用类中operator-(形参)函数时,我们要求调用其实现两个类对象进行相加,不需要改变这两个类对象的值,只需要将相加后的值给另外一个对象就行,因此,在写类函数——...原创 2022-06-16 15:49:39 · 364 阅读 · 0 评论 -
2022.6.15 C++——运算符的重载(+)
结果分析:程序运行时,先进入主函数,执行Complex ca(1, 2);和Complex ca(3, 4);调用带参数的构造函数,执行Complex cc;调用缺省的构造函数,然后依次打印出值;但是在执行cc = ca.Add(cb);时,首先调用拷贝构造函数,然后在调用带参构造函数,然后再调用拷贝构造函数将其产生的值给cc,在这块会产生一个将亡值,因此,在这中间会调用三次析构函数,最后将值打印出来;最后三次调用析构函数是对Complex ca(1, 2);Complex cb(3......原创 2022-06-15 22:41:38 · 172 阅读 · 0 评论 -
2022.6.14 C++——拷贝构造函数
拷贝构造函数原创 2022-06-14 22:39:31 · 176 阅读 · 0 评论 -
2022.6.8 C++——对象成员方法的使用
对象成员方法的使用原创 2022-06-08 11:21:17 · 123 阅读 · 0 评论 -
2022.6.7 C++——对象的生存期
对象的生存周期相关知识原创 2022-06-07 09:49:09 · 165 阅读 · 0 评论 -
2022.6.2 C++——构造函数与析构函数
数据成员多数是私有的,要对它们进行初始化,必须用一个公有函数来进行,同时这个函数应该在且仅在定义对象时自动执行一次,称为构造函数。构造函数的用途:①创建对象②初始化对象中的属性③类型转换构造函数是特殊的公有成员函数(在特殊用途中构造函数的访问限定可以定义成私有或保护),其特征如下:(1)函数名必须与类名相同;(2)构造函数无函数返回类型说明;注意是没有而不是void,即就是什么也不写,也不能写void;实际上构造函数有返回值,返回的就是构造函数所创建的对象;(3)在程序运行时,当新的对象被建立原创 2022-06-02 17:31:02 · 150 阅读 · 0 评论 -
2022.6.1 C++——类型设计与实例化对象
类型设计与实例化对象原创 2022-06-01 21:02:35 · 929 阅读 · 0 评论 -
2022.5.26 C++——面向对象基础知识
这里写目录标题1. 面向过程2. 面向对象2.1 从现实世界到计算机世界的映射:2.2 状态和行为是对象的主要属性2.3 面向对象的程序设计优点2.4 对象的关系3. 类型设计与实例化对象3.1 C++中类的设计3.2 成员数据、函数1. 面向过程当软件规模超过一定尺度后,采用结构化程序设计,其开发和维护就越来越难控制,其根本的原因在于面向过程的结构化程序设计的方法与现实世界(包括主观世界和客观世界)往往都不一致,结构化程序设计的思想往往很难贯彻到底。在结构化程序设计中,采用的是“自顶向下,逐步细化”原创 2022-05-26 08:00:00 · 216 阅读 · 0 评论 -
2022.5.25 C++——string的简单使用和面试题
1.C++中的字符串①要使用C++中有关字符串的函数,必须有头文件#include< string >,#include< string.h >,#include< cstring >,c中也是如此②求字符串长度,在C和C++中使用,如C中我们经常会使用strlen函数或者sizeof(arr)/sizeof(arr[0]),但是sizeof(arr)/sizeof(arr[0])是在打印数组中元素个数时用到,而strlen直接求的是字符串的实际长度,后面没有\0,原创 2022-05-25 08:00:00 · 121 阅读 · 0 评论 -
2022.5.23 C++——C11部分新特性(类型推导(auto),decltype关键字,基于范围for循环等)
这里写目录标题1. 类型推导:auto1.1 c11中auto成为类型指示符1.2 auto的推导规则1.3 auto不能作为函数的形参类型1.4 auto的限制1.5 auto可以推导函数的返回类型2. 类型推导:decltype关键字3. 基于范围的for循环4. 指针空值——nullptr5. typedef 与using1. 类型推导:autoC++引入了auto和decltype关键字实现类型推导,通过这两个关键字不仅能方便地获取复杂的类型,而且还能简化书写,提高编码效率。1.1 c11中原创 2022-05-23 21:24:24 · 568 阅读 · 0 评论 -
2022.5.22 C++——new/delete
这里写目录标题1. newC++的动态内存管理1.1 new运算符的使用1.2 new的函数方式的使用1.3 定位new2.对于内置类型new/delete/malloc/free可以混用1. new可执行程序(进程)的虚拟地址空间:内核:操作系统;栈区:函数的形参,非静态的局部变量、函数现场保护数据等等,栈是向下生长的;共享库的内存映射区域:用于装载一个共享的动态内存库,用户可以使用系统接口创建共享内存,做进程间通信。堆区:用于程序运行时动态内存分配,堆是可以向上增长的;数据段:存储全局数原创 2022-05-22 20:34:37 · 262 阅读 · 2 评论 -
2022.5.20 C++——函数模板和namespace
这里写目录标题1. 函数模板2. 名字空间:namespace2.1 名字空间定义2.2 为什么引入名字空间2.3 名字空间使用3. new/delete3.1 new3.2 delete1. 函数模板为了代码重新使用,代码就必须是通用的;通用的代码就必须不受数据类型的限制。那么我们可以把数据类型改为一个设计参数,这种类型的程序设计称为参数化程序设计。软件模块由模板构造,包括函数模板和类模板。函数模板的定义:函数模板可以用来创建一个通用功能的函数,以支持多种不同形参,简化重载函数的设计。例如:函数原创 2022-05-20 21:22:19 · 365 阅读 · 0 评论 -
2022.5.19 C++——缺省参数和函数重载
这里写目录标题1. 缺省参数1.1缺省参数函数调用1.2 缺省参数在多文件中(.h,.cpp)1.3 缺省实参可以使用任意表达式2. 函数重载2.1 C中函数调用实现1.2 函数重载1.2.1 函数重载定义1.2.2 判断函数重载的规则1.2.3 名字粉碎(名字修饰)1. 缺省参数1.1缺省参数函数调用(1) 一般情况下,函数调用时的实参个数应与形参相同,但为了更方便地使用函数,C++也允许定义具有缺省参数的函数,这种函数调用时,实参个数可以与形参不相同。(2)缺省参数指在定义函数时为形参指定缺省值原创 2022-05-19 17:11:19 · 214 阅读 · 0 评论 -
2022.5.13 C++基础入门——引用和inline函数
这里写目录标题1.引用1.1引用定义引用的特点2.inline函数1.引用1.1引用定义用我们通俗的话说,引用就是别名,即就是a=10,c引用a,那么c也就是;引用的符号用&来表示,例如上句话可以用c++编写为:int a = 10 ;int &c = a ;那么c就是a,但是有人会说这不就是直接把c替换成a就是了,其实并不只是这么简单的意思,通过如下的图来理解引用的含义:分析:假设图中A的地址为100,B的地址为200;如果执行int B=A,只是将A的值给B,其B的地址原创 2022-05-13 22:16:44 · 271 阅读 · 0 评论 -
2022.4.27 C++基础入门——初始化、输入和输出和const应用
1. 初始化C中的初始化写法:变量初始化:int a = 10 ;数组初始化:① int arr[5] = {1, 2, 3, 4, 5} ; ② int arr[ ]={1, 2, 3, 4, 5} ;③ int arr[5]={ }; 不给值,默认为0//运行结果如下:C++中的初始化写法:*变量初始化:① int a = 10 ;② int a(10) ;③ int a{10} ;运行如下:数组初始化:原创 2022-04-27 16:26:41 · 216 阅读 · 0 评论