C++
文章平均质量分 60
无敌小君君
这个作者很懒,什么都没留下…
展开
-
【C++】十、文件操作知识点
文件操作 程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放 通过文件可以将数据持久化 C++中对文件操作需要包含头文件 < fstream > 文件类型分为两种: 文本文件 - 文件以文本的ASCII码形式存储在计算机中 二进制文件 - 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们 操作文件的三大类: ofstream:写操作 ifstream: 读操作 fstream : 读写操作 ...原创 2021-02-04 11:16:09 · 82 阅读 · 0 评论 -
【C++】九、类和对象(多态)知识点
1、多态 多态分为两类 静态多态: 函数重载和运算符重载属于静态多态,复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动态多态的函数地址晚绑定 - 运行阶段确定函数地址 class Animal { public: //Speak函数就是虚函数 //函数前面加上virtual关键字,变成虚函数,那么编译器在编译的时候就不能确定函数调用了。 virtual void speak()//变为虚函数,就能地址原创 2021-02-04 10:46:35 · 115 阅读 · 0 评论 -
【C++】九、类和对象(继承)知识点
1、继承 下级别的成员除了拥有上一级的共性,还有自己的特性。这个时候我们就可以考虑利用继承的技术,减少重复代码。 继承的好处:可以减少重复的代码 class A : public B; class 子类: 继承方式 父类 A 类称为子类 或 派生类 B 类称为父类 或 基类 派生类中的成员,包含两大部分: 一类是从基类继承过来的,一类是自己增加的成员。 从基类继承过过来的表现其共性,而新增的成员体现了其个性。 继承方式一共有三种: 公共继承 保护继承 私有继承 保护权限类内可访问,类原创 2021-02-02 19:32:15 · 175 阅读 · 0 评论 -
【C++】九、类和对象(封装)知识点
封装、对象的初始化和清理 1、构造函数和析构函数 构造函数和析构函数会被编译器自动调用,完成对象初始化和清理工作。对象的初始化和清理工作是编译器强制要我们做的事情,因此如果我们不提供构造和析构,编译器会提供。编译器提供的构造函数和析构函数是空实现。 2、C++中拷贝构造函数调用时机通常有三种情况 使用一个已经创建完毕的对象来初始化一个新对象 值传递的方式给函数参数传值 以值方式返回局部对象 class Person { public: Person() { cout << "无参构造函原创 2021-02-02 10:23:03 · 261 阅读 · 3 评论 -
学习
https://www.cnblogs.com/shilinnpu/p/8945637.html https://www.cnblogs.com/QG-whz/p/5136883.html原创 2021-01-24 10:20:49 · 102 阅读 · 0 评论 -
【C++】八、内存分区、引用、函数提高知识点
1、内存分区: C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存四区意义: 不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程 程序运行前 在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域 代码区: 存放 CPU 执行的机器指令(二进制) 原创 2021-01-23 19:33:09 · 333 阅读 · 0 评论 -
【C++】七、结构体知识点
1、结构体定义及创建变量 结构体定义:struct 结构体名 { 结构体成员列表 }; 创建变量及赋值: struct 结构体名 变量名 赋值:用"."访问属性赋值 struct 结构体名 变量名 = { 成员1值 , 成员2值...} struct 结构体名 数组名[元素个数] = { {} , {} , ... {} } 定义结构体时顺便创建变量 2、结构体指针及用指针访问属性 //结构体定义 struct student { //成员列表 string name; //姓名 int a原创 2021-01-22 16:28:28 · 187 阅读 · 0 评论 -
【C++】六、指针知识点
1、指针变量和普通变量的区别 指针变量:int *、char *、float *、double *…… 普通变量存放的是数据,指针变量存放的是地址 可以通过 &符号 获取变量的地址 指针变量可以通过*操作符,操作指针变量指向的内存空间,这个过程称为解引用 2、指针所占内存: 所有指针类型在32位操作系统下是4个字节,在64位操作系统下占8个字节。 int main() { int a = 10; int * p=&a; cout << sizeof(p) <原创 2021-01-21 22:51:35 · 179 阅读 · 0 评论 -
【C++】五、函数知识点
1、实参和形参 ① 形参出现在函数定义的地方,多个形参之间以逗号分隔,形参规定了一个函数所接受数据的类型和数量。 实参出现在函数调用的地方,实参的数量与类型与形参一样,实参用于初始化形参。 ② 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。 形参和函数体内部定义的变量统称为局部变量,仅在函数的作用域内可见,同时局部变量还会隐藏在外层作用域中同名的其他所有声明(局部变量和全局变量可以重名)。 静态原创 2021-01-21 21:00:55 · 118 阅读 · 0 评论 -
【C++】四、数组知识点
1、一维数组 特点: ①数组中的每个数据元素都是相同的数据类型 ②数组是由连续的内存位置组成的 数组定义方式: 1. 数据类型 数组名[ 数组长度 ]; 2. 数据类型 数组名[ 数组长度 ] = { 值1,值2 ...}; 3. 数据类型 数组名[ ] = { 值1,值2 ...}; //第二种方法:数据类型 数组名[元素个数] = {值1,值2 ,值3 ...}; //如果{}内不足10个数据,剩余数据用0补全 int score2[10] = { 100, 90,80,70,60,50原创 2021-01-21 19:45:36 · 230 阅读 · 0 评论 -
【C++】三、程序流程结构知识点
1、三目运算符 作用: 通过三目运算符实现简单的判断 语法:表达式1 ? 表达式2 :表达式3 解释: 如果表达式1的值为真,执行表达式2,并返回表达式2的结果; 如果表达式1的值为假,执行表达式3,并返回表达式3的结果。 int main() { int a = 10; int b = 20; int c = 0; c = a > b ? a : b; cout << "c = " << c << endl;//c=20 //C++中三目运算符返回的是原创 2021-01-21 19:10:52 · 186 阅读 · 0 评论 -
【C++】二、数据类型与运算符知识点
1、字符型变量: C和C++中字符型变量只占用1个字节。 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元。 int main() { char ch = 'a'; cout << ch << endl; cout << sizeof(char) << endl;//1 cout << (int)ch << endl; //查看字符a对应的ASCII码 ch = 97; //可以直接用A原创 2021-01-21 15:31:30 · 222 阅读 · 0 评论 -
【C++】一、const和#define的区别
【C++】一、const和#define的区别 1、 类型检查 define – 无类型,不进行类型安全检查,可能会产生意想不到的错误,可能会导致边缘效应。 const – 有数据类型,编译时会进行类型检查,可以避免一些低级的错误。如: #include<iostream> using namespace std; #define N 2+3//我们预想的N值是5 //正确写法 #define N (2+3) int main() { double a; a = (float)N / (f原创 2021-01-21 14:38:29 · 571 阅读 · 0 评论