共计 1583 个字符,预计需要花费 4 分钟才能阅读完成。
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