在C++中,构造函数和析构函数用于对类中对象的初始化和清理
像是在生活中我们常用的智能手机,在我们刚买时是出厂设置,不用的时候为保证隐私不被泄露会将手机格式化一样,构造函数和析构函数在类中起到的作用是类似的;
构造函数:主要用于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无需手动调用。
构析函数:主要作用在于对象销毁前系统自动调用,执行一些清理工作。
构造函数语法:
1.没有返回值,也不写void
2.函数名与类名相同
3.构造函数可以有参数,因此可以发生重载
4.程序在调用对象时候会自动调用构造,无须手动调用而且只会调用一次
构析函数语法:
1.构析函数,没有返回值也不写void。
2.函数名与类名相同,在名称前加上符号~
3.构析函数不可以有参数,因此不能发生重载
4.程序在对象前会自动调用构析,无须手动调用且只调用一次
注意:当类中没有提供构造函数和析构函数时,编译器会提供,但这时编译器提供的两个函数是空实现,即没有函数体
#include<bits/stdc++.h>//万能头文件
using namespace std;
class Person{
public:
Person(){//构造函数
cout<<"正在调用构造函数"<<endl;
}
~Person()//析构函数
{
cout<<"正在调用析构函数"<<endl;
}
};
int main(){
Person p;
}