1. 私有成员:private

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

image.png

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

2. 保护成员:protected

派生类的定义如下:派生类的成员函数可以被父类给复用
image.png
类外不能访问protected成员

3. 构造函数

image.png

4. 析构函数

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

5. 拷贝构造函数

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

image.png
参考链接

6. 友元函数

它有权访问类的所有私有(private)成员和保护(protected)成员
image.png
参考链接

7.内联函数

类定义中的定义的函数都是内联函数,即使没有使用 inline 说明符(如何使用,在变量类型前面加一个关键字inline就行)
如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。

8. this指针

每一个对象都能通过 this 指针来访问自己的地址,友元没有this指针
image.png

9. 指向类的指针

image.png

10.静态成员

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

11. 继承(基类和派生类)

image.png

一个派生类继承了所有的基类方法,但下列情况除外:
* 基类的构造函数、析构函数和拷贝构造函数。
* 基类的重载运算符。
* 基类的友元函数。

参考链接

12. 重载运算符和重载函数

重载函数:函数同名但类型不同名// 注意重载和重写的区别
运算符重载:例如直接实现同一个类的不同成员的相加,直接用运算符重载实现

image.png
image.png
参考链接

13. 多态

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

14. 纯虚函数

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

15. 文件和文件流

参考链接

16. 异常处理

try throw catch
image.png
参考链接

17. 动态内存

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

image.png
参考链接

18.命名空间

image.png
参考链接

19. 模板(泛型的基础)

image.png
image.png
image.png
image.png
参考链接

20. 预处理器

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

参考链接

21. sleep函数

image.png

22. 引用和指针

引用变量是一个别名
参考链接

23. 枚举enum

image.png

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

image.png

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

image.png

26. 结构体

两种定义方法的区别和使用:
image.png
image.png
image.png
将结构体类型作为参数传递给函数
image.png
用typedef 为结构体struct type_name 取别名,这样在下次声明结构体的时候,就无需加关键字struct
image.png
image.png

自由自在像小鸟
4 声望1 粉丝