构造函数
- 构造函数是特殊的成员函数
- 创造类类型的新对象,系统自动会调用构造函数
- 构造函数是为了保证对象的每个数据成员都被正确初始化
- 函数名和类名完全相同
- 不能定义构造函数的类型(返回类型),也不能使用void
- 通常情况下构造函数应声明为公有函数,否则它不能像其他成员那样被显式的调用
- 构造函数被声明为私有有特殊的用途
- 构造函数可以有任意类型和任意个数的参数,一个类可以有多个构造函数(重载)
默认构造函数
- 不带参数的构造函数
- 如果程序中未声明,则系统自动产生出一个默认构造函数
重载构造函数
构造函数与new
- new会调用函数以及分配内存
全局对象的构造先于main函数
析构函数
- 函数名和类名相似(前面多了一个字符“~”)
- 没有返回类型
- 没有参数
- 析构函数不能被重载
- 如果没有定义析构函数,编译器会自动生成一个默认析构函数,其格式如下:
类名::~默认析构函数名()
{
}
- 默认析构函数是一个空函数
析构函数与数组