
C++自学笔记
文章平均质量分 74
Ctrl+Alt+L
Reinforcement learning about meta, robot and safty.
展开
-
21_C++_面向对象_函数模板_类模板
为什么.hpp中有成员的实现,然后在调用类模版的地方引入.hpp,不会报重定义类的成员函数默认申请为内联函数,在链接时,链接器会对重复的成员函数进行处理,只保留一份成员函数,所以不会进行报错。原创 2022-08-25 00:03:23 · 153 阅读 · 0 评论 -
20_C++_面向对象_多态
所谓的接口,即将内部实现细节封装起来,外部用户用过预留的接口可以使用接口的功能而不需要知晓内部具体细节。C++中,通过类实现面向对象的编程,而在基类中只给出纯虚函数的声明,然后在派生类中实现纯虚函数的具体定义的方式实现接口,不同派生类实现接口的方式也不尽相同。//抽象类 class Father {public ://接口的声明 virtual void func2(int a) = 0;};public :virtual void func1() //接口的实现 {} };...原创 2022-08-13 16:47:07 · 328 阅读 · 0 评论 -
19_C++_面向对象_数组类_各种运算符重载
设计一个类,该类有数组的功能,可以存储数据,可以删除修改数据。不能改变运算符优先级,不能改变运算符的参数个数。双目运算符左边的是第一个参数,右边是第二个参数。双目运算符的左边是this,右边是第一个参数。已有的运算符重新进行定义。......原创 2022-08-12 00:54:20 · 678 阅读 · 0 评论 -
18_C++_面向对象_explicit/new/delete关键字_静态成员_this指针_常函数和常对象_友元_单例模式
1.每个对象都有一个隐藏的this指针,但不属于对象,是编译器添加的。2.编译器会把this指针传入成员函数内。共同:都是申请堆区空间和释放堆区空间。4.类的成员中,成员函数和成员变量是。this指针的指向不能改变,也就是说。区别:C++的会调用构造和析构函数。修饰的成员变量在常函数中可以修改。指针指向的空间中的变量不能改变。6.防止空指针调用成员函数。1.在函数的()后面加上。2.常对象可以调用常函数。释放空间用delete。申请堆区空间用new。,这个函数就是常函数。2.常函数内不能修改。...原创 2022-08-11 02:44:08 · 486 阅读 · 0 评论 -
17_C++_面向对象_构造函数_析构函数
C++面向对象的构造函数和析构函数原创 2022-08-04 23:39:56 · 786 阅读 · 0 评论 -
16_C++_面向对象_类和对象_封装
1.C++的函数在汇编时,会给函数取别名,C语言的不会,这时,如果C++来调用C语言的函数,C++会去找取了别名的函数,但是C语言没有取别名,这时会出错。编译器是通过你调用函数时,传入的参数来判断调用重载的哪个函数,我们调研函数时不需要写返回值,所以返回值不能成为函数重载的条件。1.函数重载的原理是在汇编时,给各个函数取别名,C语言不能重载的原因是没有取别名。1.类是自定义数据类型,是C语言的结构体进化而成的。结构体的默认权限是公有的,类的默认权限是私有的。 1.有宏函数的效率,没有宏函数的缺点。....原创 2022-08-04 01:41:24 · 118 阅读 · 0 评论 -
15_C++_面向对象_1
c++语言在c语言的基础上添加了面向对象编程和泛型编程的支持。03.面向对象的三大特征(了解)封装,继承,多态→\rightarrow→ 是因为解决多人合作时取标识符是重命名的问题3. 命名空间的注意4. 作用域运算符双冒号作用域运算符双冒号用来访问某个作用域里面的成员using声明是让命名空间中某个标识符可以直接使用using编译指令,让某个命名空间中的标识符都可以直接使用06.struct类型加强(重点)加强一:定义变量时不需要使用struct关键字加强二:结构体内可以写函数不能原创 2022-08-03 17:38:27 · 154 阅读 · 0 评论 -
14_C++_编译过程_递归函数_面向接口
编译过程、递归函数、面向接口原创 2022-08-01 15:15:21 · 717 阅读 · 0 评论 -
13_C++_链表_回调函数
C++,链表和回调函数,一些知识点和源代码原创 2022-07-31 23:42:19 · 394 阅读 · 0 评论 -
12_C++_《结构体和文件》_笔记整理
C++《结构体和文件》笔记整理原创 2022-07-30 18:20:25 · 290 阅读 · 0 评论 -
11_C++_《指针》_笔记整理
C++指针相关知识整理原创 2022-07-28 00:27:02 · 173 阅读 · 0 评论 -
10_C++_《数据类型和内存分区》_笔记整理
C++数据类型和内存分区原创 2022-07-27 02:12:16 · 295 阅读 · 0 评论 -
9_C++_结构体操作案例分析
一、毕业设计指导老师和学生信息系统要求:1、一共有三名老师,每名老师带五名学生;2、老师的名字和学生的名字可用“ABCDE”代替;3、学生的成绩用“60~99”的随机整数代替;4、老师姓名、学生姓名和学生成绩均工整地显示出来。#include<iostream>#include<string>using namespace std;// 学生的结构体struct STUDENT{ // 学生姓名 string StudentName; // 学生成绩原创 2022-03-05 14:20:23 · 608 阅读 · 0 评论 -
8_C++_结构体
1、结构体作用创建用户自定义类型允许用户存储不同的自定义类型2、结构体的创建与使用创建一个“类”:struct 结构体名 { 结构体成员列表 };创建具体变量(有三种):(1)struct 结构体名 具体变量名;(2)struct 结构体名 具体变量名 = { 每个变量的具体值 };(3)在定义结构体时顺便定义结构体变量;给结构体的属性赋值时候,要用:具体变量名.属性 = 具体值;(小点点)结构体创建的时候struct不可以省略定义具体变量的时候struct可以省略不写#incl原创 2022-03-03 00:01:48 · 354 阅读 · 0 评论 -
7_C++_指针
很重要!!!1、指针的定义和使用通过指针间接访问内存,用指针记住地址编号语法:数据类型 * 变量;定义完之后,要获得变量的地址语法:指针变量 = & 变量;&是取址符号。解引用:找到指针指向的内存中的内容(数值)语法:*p = 表达式;2、指针所占的内存空间指针实际存的是地址32位操作系统,指针变量占用4个字节(64位下占用8位)sizeof( 指针变量 ) = 4/8;与指针的数据类型没有关系#include<iostream>using name原创 2022-02-15 22:34:14 · 229 阅读 · 0 评论 -
6_C++_函数
1、为什么要使用函数将重复的代码封装,然后反复调用可以将较大的程序分成若干个模块2、函数的定义五个要素:返回值类型、函数名、参数表列、函数体语句和return表达式。语法格式:/** 返回值类型 函数名(参数表列)* {* 函数体语句* ...* ...* ... * 返回值表达式* }* 注意:返回值表达式一般与返回值类型对应起来。*/3、函数的调用调用前要先定义函数定义时候的参数叫形式参数调用时候,实际参数会一一传递给形参4、值传递调用时候,实际参原创 2022-02-15 17:57:37 · 262 阅读 · 0 评论 -
5_C++_数组
1、数组的基本概念数组中的元素的数据类型都是相同的数组在存储空间是连续一片的2、数组的三种定义(1)数据类型 数组名[ 数据长度 ] ;(2)数据类型 数组名[ 数据长度 ] = { 值1,值2… } ;注意:在初始化没有全部补齐,剩下位置补0(3)数据类型 数组名[ ] = { 值1,值2… } ;总之,定义数组时候必须知道数组长度。注意:数组从0开始访问,第一个数据是数组名[ 0 ]。用循环方式显示数组。3、数组名的长度统计整个数组在内存中的长度语法:sizeof(数组名);原创 2022-02-15 15:43:36 · 228 阅读 · 0 评论 -
4_C++_程序流程结构
1、三种程序结构顺序结构选择结构(分支)循环结构2、选择结构单行格式:if ( 条件 ) { 条件执行语句 }注意:if条件后面,语句块后面,不要加分号多行格式:if ( 条件 ) { 条件执行语句 } else { 条件执行语句 }跟C语言差不多多条件语句:if ( 条件1 ) { 条件执行语句1 } else if ( 条件2 ) { 条件执行语句2 } …else { 条件执行语句n+1 }条件结构的嵌套:在条件执行语句里面在放入if语句,作用是更加精准执行任务#include原创 2022-02-15 13:34:16 · 2577 阅读 · 0 评论 -
3_C++_运算符
1、算术运算符加减乘除,跟之前C语言类似注意:两个整数相除结果依然是整数,把小数部分删去了注意:两个小数相除结果依然是小数注意:0不能做除数否则会报错,编程中若遇到变量为0,建议用一个很小的小数去替换0这个实际的数取模运算,实际就是取余数,因此两个操作数必须是整数同样,取模运算除数不为0递增递减运算符:前置递增/递减:++变量,先对变量递增/递减,再带入表达式运算后置递增/递减:变量++,先带入表达式运算,再对变量递增/递减#include <iostream>using原创 2022-02-14 13:49:46 · 493 阅读 · 0 评论 -
2_C++_数据类型篇
前言定义变量/常量,必须确定数据类型,分配一个合适的存储空间。1、整型表示整型若干种形式,区别在于范围/占用空间不同。有四种形式,最常用的还是intshort < int <= long < long long2、sizeof关键字作用:求出/得到变量或者数据类型占用内存空间的大小语法:sizeof(数据类型/变量)#include <iostream>using namespace std;int main() { int a = 10; lo原创 2022-02-14 12:40:18 · 174 阅读 · 0 评论 -
1_C++_最最最基本的知识
1、第一个C++文件:用C++语言写"Hello World!"# include <iostream>using namespace std;int main(){ cout << "Hello World!" << endl; system("pause"); return 0;}2、C++注释:单行注释://多行注释:/**/# include <iostream>using namespace std;// 单原创 2022-02-13 21:36:52 · 255 阅读 · 0 评论