- String类型
- getline(cin,变量);这是用来获取 用户输入的函数
- 面向对象的基本思想是:用谁,做什么来表达程序的逻辑
在代码层面,就是将所有的数据操作转化为成员函数的调用
- 数据的封装的好处
可以有效的控制输入的数据的正确性
- 类内定义与内联函数关系:
类内定义是指把函数定义都放在类内
两者的关系:类内定义相当于在函数前面加inline,在代码中不会写明,
- 类内定义与类外定义
类外定义:成员函数的函数体写在类的外面类外定义分类:同文件类外定义、分文件类外定义同文件类外定义:成员函数,在类外面,但是在同一个文件中
分文件类外定义:与之相反,在不同的文件中
其定义方式:首先定义一个头文件.h,在相应的.cpp文件中#include对应的头文件.h
- 内存分区
栈区由操作系统来控制
堆区由程序猿来操作和管理 - 对象初始化分为两种:直接初始化、拷贝初始化
- string str1(10,'9');//直接初始化
- string str2(str1);//直接初始化
- string str3 = str1;//拷贝初始化
- 【注意】【知识点】构造函数:在对象实例化的时候自动调用,但只会调用一次 ,相当于用户自定义类中各个参数的值
规则和特点:- 构造函数与类同名
- 构造函数没有返回值
- 构造函数可以有多个重载形式
- 实例化对象时只会用到重载的构造函数中的一个
- 当用户没有定义构造函数时编译器会自动生成一个构造函数
- 构造函数的实现方式(三种)
- 无参数的构造函数
- 有参数的构造函数
- 重载构造函数
- 无参数的构造函数