类和对象
对象
具体指代一个事物
类
- 为了便于管理,将信息抽象。
- 目的不同,抽象的信息也不同(选择性暴露),也就是封装。
- 通过访问限定符,选择想要暴露和隐藏的信息。
对象实例化
计算机根据一个类的设计,制造出多个对象的过程
两种方式
- 从栈中实例化
- 从堆中实例化
注意:从堆中实例化需要申请与释放内存
对象成员的访问
- 从栈中实例化对象后,可以通过点来访问
- 从堆中实例化对象后,需要通过指针访问
初识string
- 初始化string对象的方式
- string的常用操作。
*需要注意,string的一种连接方式是错误的。
类外定义
- 类内定义:成员函数的函数体写在类的内部。
特点:编译器会将其优先编译成内联函数
- 类外定义分为两种:同文件类外定义,份文件类外定义。
- 同文件类外定义:成员函数体与类在同一个函数中,但不在类中。
- 份文件类外定义:新建一个cpp文件,将成员函数体与类份文件存放。
构造函数
内存区域
构造函数:
在对对象初始化时,为了避免忘记调用初始化函数,或多次重复调用,需要采用构造函数。将初始化代码写在构造函数内,就可以起到初始化的作用,构造函数在实例化对象时只会被调用一次。
*默认构造函数:在实例化对象时不需要传递参数的构造函数
初始化列表
- 构造函数后用冒号隔开
- 对多个数据成员初始化时中间要用逗号隔开
- 赋值是要用括号而不能用等号
特性:
*初始化列表的必要性:如果参数被const修饰,是不能够被构造函数初始化的,但是可以通过初始化列表对其进行初始化。
拷贝构造函数
析构函数
- 任务:归还系统资源,收拾最后残局
- 定义格式:~类名()
- 析构函数的特性: