对象的初始化和清理
- 电子产品的出厂设置以及不用的数据的清理
- C++每个对象都有数据的初始化操作和数据清理的设置
构造函数和析构函数
这两个函数是由编译器自动调用的,可以不写
构造函数语法:类名(){}
注:必须写作用域public
- 构造函数,没有返回值也不写void
- 函数名和类名相同
- 可以有参数,因此可以发生重载
- 编译器自动调用且只调用一次
析构函数语法:~类名(){}
- 析构函数,没有返回值也不写void
- 函数名和类名相同,在前面加上~
- 析构函数不可以有参数,因此也不可以发生重载
- 程序在对象销毁前会自动调用析构函数,且只调用一次
#include <iostream>
using namespace std;
class Person{
public:
//构造函数
Person(){
cout << "Person 构造函数的调用!" << endl;
}
//析构函数
~Person(){
cout << "Person 析造函数的调用!" << endl;
}
};
void test01(){
Person p; //在栈上的对象,test01执行完毕后,释放这个对象
}
int main(){
// test01();
Person p;
system("pause");
return 0;
}