随笔分类 -  C++

C++相关知识点记录
C++Note 运算符重载 左移 operaotr<<
摘要:左移运算符重载 作用:可以输出自定义数据类型 写新的函数的时候不知道返回什么 先写为 void 之后根据实际情况更改。 void operator<<(ostream& cout,Person& p); ostream& operator<< (ostream& cout, Person& p); 阅读全文

posted @ 2023-07-11 13:07 廿陆 阅读(11) 评论(0) 推荐(0) 编辑

C++Note 运算符重载 加号 operator+
摘要:运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 加号运算符重载 作用:实现两个自定义数据相加的运算 PersonAddPerson可能会有多个名称 编译器提供通用名称:operator+ 1 #include <iostream> 2 using namespac 阅读全文

posted @ 2023-07-11 12:41 廿陆 阅读(13) 评论(0) 推荐(0) 编辑

C++Note 友元
摘要:程序中,有些私有属性,也想让类外特殊的一些函数或者类进行访问 友元的目的是让 一个函数或者类 访问另一个类中的私有成员 友元的关键字:friend 友元的三种实现: 类做友元 全局函数做友元 成员函数做友元 1 #include <iostream> 2 using namespace std; 3 阅读全文

posted @ 2023-07-11 11:28 廿陆 阅读(4) 评论(0) 推荐(0) 编辑

C++Note const修饰成员函数常函数和常对象
摘要:常函数: 成员函数后加const后称这个函数为 常函数 常函数内不可以修改成员属性 成员属性声明时加关键字 mutable后 在常函数中依然可以修改 常对象: 声明对象前加const称该对象为 常对象 常对象只能调用常函数 1 #include <iostream> 2 using namespac 阅读全文

posted @ 2023-07-11 10:03 廿陆 阅读(10) 评论(0) 推荐(0) 编辑

C++Note 空指针访问成员函数
摘要:1 #include <iostream> 2 using namespace std; 3 4 class Person 5 { 6 public: 7 void showClassName() 8 { 9 cout << "This is Person Class" << endl; 10 } 阅读全文

posted @ 2023-07-10 18:34 廿陆 阅读(5) 评论(0) 推荐(0) 编辑

C++Note 指针和地址 -> & . .指针的指针
摘要:a->b 的含义是 (*a).b 地址:在计算机存储器中每个存储单元都有一串连续的编号,这些编号,称为地址。 例如,定义一个变量的时候,如: 1 int a; 这条语句是在内存中申请 sizeof(int) = 4个字节的内存空间 可能如图: 因此执行如下代码: std::cout<<&a; 对于上 阅读全文

posted @ 2023-07-07 10:47 廿陆 阅读(11) 评论(0) 推荐(0) 编辑

C++Note 类中成员变量 this指针
摘要:成员变量和非成员变量(静态和非静态): 1 #include <iostream> 2 using namespace std; 3 4 //类内的成员变量和成员函数是分开存储的 5 //只有非静态成员变量才属于类的对象上 6 class Person1 7 { 8 //空类 9 }; 10 cla 阅读全文

posted @ 2023-07-03 16:56 廿陆 阅读(11) 评论(0) 推荐(0) 编辑

C++变量作用域
摘要:一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量。 在函数参数的定义中声明的变量,称为形式参数。 在所有函数外部声明的变量,称为全局变量 作用域是程序的一个区域,变量的作用域可以分为以下几种: 局部作用域:在函数内部声明的变量具有局部作用域,它们只能在函数内部访问。局 阅读全文

posted @ 2023-06-29 10:56 廿陆 阅读(12) 评论(0) 推荐(0) 编辑

C++基本例子 while(cin) + 输入数字重复次数
摘要:1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 int sum = 0; 7 int value = 0; 8 while (cin >> value)//读取数据直到遇到文件尾,计算所有读入的值的和 9 { 10 阅读全文

posted @ 2023-06-27 18:20 廿陆 阅读(50) 评论(0) 推荐(0) 编辑

C++Note 静态成员
摘要:C++文件执行顺序:预处理-编译-汇编-链接 静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员 静态成员分为: 静态成员变量 所有对象共享同一份数据 在编译阶段分配内存//分配在全局区 类内声明,类外初始化 1 #include <iostream> 2 using names 阅读全文

posted @ 2023-06-21 11:57 廿陆 阅读(4) 评论(0) 推荐(0) 编辑

C++Note 类对象作为类成员
摘要:C++类中的成员可以是另一个类的对象,我们称该成员为对象成员 1 #include <iostream> 2 using namespace std; 3 4 class A 5 { 6 public: 7 A() 8 { 9 cout << "A的构造函数" << endl; 10 } 11 ~A 阅读全文

posted @ 2023-06-21 11:09 廿陆 阅读(4) 评论(0) 推荐(0) 编辑

C++Note 初始化列表
摘要:C++提供了初始化列表语法,用来初始化属性 语法:构造函数():属性1(值1),属性2(值2),... 1 #include <iostream> 2 //using std::cout; 3 using namespace std; 4 5 class Person 6 { 7 public: 8 阅读全文

posted @ 2023-06-21 10:48 廿陆 阅读(5) 评论(0) 推荐(0) 编辑

C++Note 构造析构函数调用规则 深浅拷贝
摘要:默认情况下,C++编译器至少给一个类添加3个函数 *1.默认构造函数(无参,函数体为空) *2.默认析构函数(无参,函数体为空) *3.默认拷贝构造函数,对属性进行值拷贝 构造函数调用规则如下: *如果用户定义有参构造函数,C++不再提供默认无参构造,但是会提供默认拷贝构造 *如果用户定义拷贝构造函 阅读全文

posted @ 2023-06-15 17:29 廿陆 阅读(6) 评论(0) 推荐(0) 编辑

C++Note 构造析构函数调用时机
摘要:C++中拷贝构造函数调用时机通常有三种情况 *使用一个已经创建完毕的对象来初始化一个新对象 *值传递的方式给函数参数传值 *以值方式返回局部对象 1 #include <iostream> 2 using namespace std; 3 4 5 class Person 6 { 7 public: 阅读全文

posted @ 2023-06-13 16:09 廿陆 阅读(21) 评论(0) 推荐(0) 编辑

C++Note 构造析构分类及调用
摘要:两种分类方式: 按参数分为:有参构造和无参构造 按类型分为:普通构造和拷贝构造 三种调用方式: 括号法 显示法 隐式转换法 1 #include <iostream> 2 using namespace std; 3 4 //构造函数的分类及调用 5 //分类 6 //按照参数分类 无参构造(默认构 阅读全文

posted @ 2023-06-13 12:33 廿陆 阅读(8) 评论(0) 推荐(0) 编辑

C++Note 构造函数和析构函数
摘要:对象的初始化和清理 对象的初始化和清理工作是编译器强制要求做的事情 因此如果不提供构造和析构函数,编译器会提供构造和析构函数自动调用 内容为空 **构造函数:在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无须手动调用(对类中变量初始化,默认为0,保证程序流畅稳定) **析构函数:在于 阅读全文

posted @ 2023-06-13 11:59 廿陆 阅读(11) 评论(0) 推荐(0) 编辑

C++Note 分文件案例 (点和圆)
摘要:#include<iostream> 属于标准库的头文件 用 <> #include "point.h" 不属于标准库的头文件用 "" 头文件一: 1 #pragma once//命名唯一 2 #include <iostream> 3 #include "point.h" 4 //头文件 .h : 阅读全文

posted @ 2023-06-13 10:57 廿陆 阅读(8) 评论(0) 推荐(0) 编辑

C++Note 封装 案例 (立方体相等)(点和圆)
摘要:案例1 1 #include <iostream> 2 using namespace std; 3 4 //设计立方体类(Cube) 5 //求出立方体的面积和体积 6 //分别用全局函数和成员函数判断两个立方体是否相等 7 class Cube 8 { 9 private: 10 //属性 11 阅读全文

posted @ 2023-06-12 18:19 廿陆 阅读(6) 评论(0) 推荐(0) 编辑

C++Note 成员属性私有化
摘要:1.将所有成员属性设置为私有 可以自己控制读写权限 2.对于写权限 可以检测数据的有效性 1 #include <iostream> 2 using namespace std; 3 4 //成员属性设置为私有 5 //1.可以自己控制读写权限 6 //2.对于写可以检测数据的有效性 (例:年龄的限 阅读全文

posted @ 2023-06-12 16:27 廿陆 阅读(8) 评论(0) 推荐(0) 编辑

C++Note 类和对象 封装二(类的访问权限)(struct和class区别)
摘要:类在设计时,可以把属性和行为放在不同的权限下,加以管理 访问权限有三种 **1.public 公有权限 类内可以访问 类外可以访问 **2.protected 保护权限 类内可以访问 类外不可以访问 继承中 子类可以访问父类的保护内容 **3.private 私有权限 类内可以访问 类外不可以访问 阅读全文

posted @ 2023-06-12 16:07 廿陆 阅读(5) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示