1.引用
- 不要返回局部变量的引用,调用函数执行后局部变量会销毁
2. 重载
- 是C++多态的特性(静态多态)。同一个函数名代表不同的函数功能
- 同一作用域,函数的参数类型、个数、顺序不同都可重载。(返回值类型不能作为重载的条件)
3. extern “C”
4.构造函数
- 完成初始化
5.析构函数
- 完成清理
6.类和对象
- 静态成员变量:可在对象创建之前使用。类中定义,类外初始化,可直接使用类名调用
- 静态成员函数:为私有静态成员变量服务,可通过get方法为其赋值
单例模式
-
- 将构造函数私有化,可防止外界实例化对象,只能办法内部实例化,而内部实例化类不知道大小,需要执行完类,只能初始化在类外,所以需要一个静态变量
-
- 定义静态的指针变量保持唯一实例的地址,因为这样就知道了多大,实例化成功
-
- 类外需要调用实例化,,还需定义公共成员方法,获得唯一实例大的地址。
- 类外需要调用实例化,,还需定义公共成员方法,获得唯一实例大的地址。
7.面向对象模型
-
C++类对象中的变量和函数是分开存储的,(static变量、函数、变量),类的大小指变量,函数只有一份,造成多个对象共用一块代码,那这个函数任何区分是那个对象调用的呢
-
成员函数通过this指针来得知操作的是那个对象的数据
-
注:静态成员函数没有this指针,因为服务的是静态变量,静态变量不需要指定,都可以操作
-
函数形参和成员同名,可以使用this指针解决
-
this指针完成链式操作
-
const修饰成员函数
8.继承
-
父类在子类中体现出共性,子类新增的数据体现个性
-
构造析构顺序
-
子类实例化时,要想调用成员对象、父类的有参构造,必须使用初始化列表,因为在构造函数之前调用。父类写类名称,成员对象用对象名(不是成员类名称)
父类和子类的同名处理:
-
1.同名成员最简单最安全的处理方式:加作用域
-
2.重定义
子类一旦重定义了父类的同名函数,子类中都将屏蔽父类所有的同名函数 -
3.父类的构造析构和操作运算符不能继承(重载)
9.多态
-
提供接口与具体实现之间的另一层隔离,可随时扩展
-
静态多态:(编译时多态)函数重载、重定义
-
动态多态:(运行时多态)虚函数
-
父类指针保存了子类空间地址
-
虚函数
-
动态绑定机制
- 纯虚函数
10.函数模板
11.类模板
12.STL
- 六大组件:容器;算法;迭代器;防函数;适配器;空间配置器
- String
- vector嵌套