![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++编程
文章平均质量分 92
C++编程
国家级退堂鼓
这个作者很懒,什么都没留下…
展开
-
C++核心编程二(类和对象、封装、访问权限、成员属性、构造函数、析构函数、拷贝构造函数、深拷贝与浅拷贝)
代码时,编译器会进行浅拷贝操作,此时p1、p2的指针都指向同一块内存,在执行析构代码时,由于先进后出原则,会导致p2的析构函数先执行,此时堆区数据内存会被释放,后面p1又会再执行依次重复释放内存,但是p2已经释放了,因此为非法操作。私有权限 private 成员 类内可以访问 类外不可以访问 儿子可以不访问父亲的私有内容。个文件,即circle.h、circle.c、point.h、point.c、main.c。③构造函数可以有参数,可以发生重载 ④创建对象的时候,构造函数会自动调用,原创 2023-12-28 11:21:12 · 945 阅读 · 0 评论 -
C++入门编程一(基本框架代码、宏定义、标识符、数据类型)
/#define 宏名 替换文本7//#define 宏名 替换文本 # define Day 7“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“Day”为所定义的宏名。“替换文本”可以是常数、表达式、格式串等。在预处理工作过程中,代码中所有出现的“宏名”,都会被“替换文本”替换。这个替换的过程被称为**“宏代换”或“宏展开”**。原创 2023-12-25 21:26:33 · 1132 阅读 · 0 评论 -
C++入门编程三(数组、冒泡排序、函数)
作用:将一段经常使用的代码封装起来,减少重复代码一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。函数定义里小括号内称为形参,函数调用时传入的参数称为实参。函数的定义返回值类型 函数名 参数列表函数体语句return 表达式//num1 num2并没用真实数据,其为形参return sum;int b = 20;//a b为实参//c接收的是add函数的返回值sunm 即 c = sum;原创 2023-12-26 10:24:24 · 934 阅读 · 0 评论 -
C++核心编程三(初始化列表、静态成员、this指针、成员函数与变量、友元、运算符重载)
运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。在成员函数后面加const,修饰的是this指向以及指针指向的值都也不可以修改。C++中空指针也是可以调用成员函数的,但是也要注意有没有用到this指针。this指针的本质 是指针常量 指针的指向是不可以修改的。友元的目的就是让一个函数或者类 访问另一个类中私有成员。基于b站黑马c++视频做的笔记,仅供参考和复习!在C++中,类内的成员变量和成员函数分开存储,this指针指向被调用的成员函数所属的对象。原创 2023-12-29 09:49:34 · 838 阅读 · 0 评论 -
C++提高编程一(函数模板、类模板)
普通类中的成员函数一开始就可以创建,类模板中成员函数在调用时才去创建。T — 通用的数据类型,名称可以替换,通常为大写字母。建立一个通用类,类中的成员 数据类型可以不具体制定,用一个。1、如果函数模板和普通函数都可以调用,优先调用普通函数。基于b站黑马c++视频做的笔记,仅供参考和复习!2、函数模板 用自动类型推导,不可以发生隐式类型转换。4、如果函数模板可以产生更好的匹配,优先调用函数模板。3、函数模板 用显示指定类型,可以发生隐式类型转换。3、函数模板可以发生函数重载。原创 2023-12-30 11:55:54 · 913 阅读 · 0 评论 -
C++入门编程四(指针、结构体、const修饰指针(深度理解))
语法 struct 类型名称 {成员列表};//1 创建学生数据类型 结构体定义//自定义数据类型,一些类型数据集合组成的一个类型//语法 struct 类型名称 {成员列表}//姓名int age;//年龄int score;//分数}s3;//顺便创建结构体变量名//2 通过学生类型创建具体学生 三种赋值方式//结构体变量创建时struct关键字可以省略Student s1;//结构体变量命名为s1//成员赋值s1.name = "张三";原创 2023-12-27 09:48:59 · 1164 阅读 · 1 评论 -
C++核心编程一(内存分区、new、引用详解、函数进阶)
*的浅显理解(可能有误,欢迎指正):因为test02()返回值是引用,可能有这么一步,即int &temp = a,返回的是temp这个别名。即存在的关系是一共有3个变量,a是原名,test02()返回值是a的一个别名,ref2也是a的另一个别名。先将x的值取出来,存放入一个临时变量,再给x+1,最后返回临时变量(将亡值所以是右值),++x是左值对x自增后马上返回其本身。易知,const修饰的是ref,即ref为常量,所以指针指向不能发生改变,但是指向的int类型的内存中的值可以改变。原创 2023-12-28 11:20:45 · 784 阅读 · 0 评论 -
C++核心编程四(继承、多态、virtual关键字、文件操作)
例如我们看到很多网站中,都有公共的头部,公共的底部,甚至公共的左侧列表,只有中心内容不同。程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放,通过文件可以将数据持久化。多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码。3、当子类与父类拥有同名的成员函数,子类会隐藏父类中同名成员函数,2、抽象类的子类 必须要重写父类中的纯虚函数,否则也属于抽象类。在多态中,通常父类中虚函数的实现是毫无意义的,主要都是。基于b站黑马c++视频做的笔记,仅供参考和复习!原创 2023-12-29 09:50:16 · 898 阅读 · 0 评论 -
C++提高编程二(STL、Vector容器初识、string字符串)
/vector容器中存放自定义数据类型public:int m_Age;//创建一个Person类的数组容器//创建对象,并调用有参构造函数//向容器中添加数据//遍历容器中的数据it!= v.end();it++){//cout原创 2023-12-30 14:54:19 · 867 阅读 · 0 评论 -
C++入门编程二(各类运算符、if、switch、while、for循环等语句)
从1开始数到数字100, 如果数字个位含有7,或者数字十位含有7,或者该数字是7的倍数,我们打印敲桌子,其余数字直接打印输出。系统随机生成一个1到100之间的数字,玩家进行猜测,如果猜错,提示玩家数字过大或过小,如果猜对恭喜玩家胜利,并且退出游戏。水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身,例如:1^3 + 5^3+ 3^3 = 153。如果表达式1的值为真,执行表达式2,并返回表达式2的结果;如果表达式1的值为假,执行表达式3,并返回表达式3的结果。原创 2023-12-26 10:25:36 · 890 阅读 · 0 评论