1. 私有成员:private
私有成员变量或函数在类的外部是不可访问的,甚至是不可查看的。只有类和友元函数可以访问私有成员。在类里面不写是什么类型,默认是 private 的。

就是说如果要访问私有成员,必须是成员函数才可以访问,外部不能直接赋值

2. 保护成员:protected
派生类的定义如下:派生类的成员函数可以被父类给复用

类外不能访问protected成员
3. 构造函数

4. 析构函数
析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源

5. 拷贝构造函数
拷贝构造函数通常用于:
* 通过使用另一个同类型的对象来初始化新创建的对象。
* 复制对象把它作为参数传递给函数。
* 复制对象,并从函数返回这个对象。

参考链接
6. 友元函数
它有权访问类的所有私有(private)成员和保护(protected)成员

参考链接
7.内联函数
类定义中的定义的函数都是内联函数,即使没有使用 inline 说明符(如何使用,在变量类型前面加一个关键字inline就行)
如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。
8. this指针
每一个对象都能通过 this 指针来访问自己的地址,友元没有this指针

9. 指向类的指针

10.静态成员
当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。静态成员在类的所有对象中是共享的

参考链接
11. 继承(基类和派生类)

一个派生类继承了所有的基类方法,但下列情况除外:
* 基类的构造函数、析构函数和拷贝构造函数。
* 基类的重载运算符。
* 基类的友元函数。
参考链接
12. 重载运算符和重载函数
重载函数:函数同名但类型不同名// 注意重载和重写的区别
运算符重载:例如直接实现同一个类的不同成员的相加,直接用运算符重载实现


参考链接
13. 多态
就是派生类继承他的父类可能会重写父类的方法
如果多个派生类都重写了父类的方法,在同一时间内,多个派生都同时使用该方法,可能会出现冲突,就要在父类中会被重写的方法增加关键字virtual

14. 纯虚函数
在基类中定义虚函数,以便在派生类中重新定义该函数更好地适用于对象,但是您在基类中又不能对虚函数给出有意义的实现,这个时候就会用到纯虚函数。

参考链接
15. 文件和文件流
参考链接
16. 异常处理
try throw catch

参考链接
17. 动态内存
C++程序中的内存分为两个部分:
栈:在函数内部声明的所有变量都将占用栈内存。
堆:这是程序中未使用的内存,在程序运行时可用于动态分配内存

参考链接
18.命名空间

参考链接
19. 模板(泛型的基础)




参考链接
20. 预处理器
预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理。
#include <库函数名>
#define __ __预定义宏
参考链接
21. sleep函数

22. 引用和指针
引用变量是一个别名
参考链接
23. 枚举enum

24. typedef
typedef int int1;//给int1类型本质就是int类型
#define int
//1、定义一个结构体
typedef struct A
{
int a ;
int b ;
}A1;
25. #define
#define 与typedef 的区别
sizeof();
size()
length()
字符串和字符数组字符串是一个类,要使用要声明头文件
#include <string.h>
string a="1234";
字符数组
char arr[6];//这是一个字符数组,每一个数组元素存取一个char

数组名字默认的是数组的首地址
arr == &arr[0]
arr[]={1,2,3};
声明数组开辟了空间了吗?没有!
char arr[6]={'a',b','c'};

26. 结构体
两种定义方法的区别和使用:



将结构体类型作为参数传递给函数

用typedef 为结构体struct type_name 取别名,这样在下次声明结构体的时候,就无需加关键字struct


**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。