C++面向对象的三大特性-封装,继承,多态
1. 封装
- 将属性和行为作为一个整体,表现生活中的十五
- 将属性和行为加以权限控制
class 类名{ 访问权限:属性/行为};
成员: 属性 + 行为
属性: 成员属性 成员变量
行为: 成员函数 成员方法
访问权限:
public 公共权限 成员 类内Y 类外Y
protected 保护权限 Y N 子类可访问
private 私有权限 Y N N
1.2 struct 和 class 区别
默认访问的权限不同
struct 公共
class 私有
1.3 成员属性设置为私有
可以控制读写权限
对于写权限,可以检测数据的有效性
2. 对象特性
2.1 构造函数和析构函数
这两个函数会被编译器自动调用,完成对象初始化和清理工作。
编译器提供的构造/析构函数是空实现
- 构造函数:主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无需手动调用
- 析构函数:主要作用在于对象销毁前系统自动调用,执行一些清理工作。
构造函数:类名(){}
- 没有返回值,没void
- 函数名称和类名相同
- 可以有参数,可以重载
- 程序在调用对象时会自动调用构造,调用一次
析构函数:~类名(){}
- 不能有参数,不能重载
- 程序在对象销毁前自动调用析构,调用一次
2.2 构造函数的分类以及调用
3. 友元
4. 运算符重载
对已有的运算符进行重新定义,赋予其另一种功能,以适应不同的数据类型
加号运算符重载