构造函数与析构函数

来源:互联网 发布:知即墨下载 编辑:程序博客网 时间:2024/06/08 03:12

构造函数:函数名与类名相同
析构函数:函数名与类名相同,前面加了个~

*默认构造函数:无参,无函数体
*析构函数:无参,无返回值(包括void);只有一个析构函数,不能被重载;

没写构造函数时,系统会自动加默认构造函数;写了构造函数后,不会自动加无参构造
没写析构函数时,系统会自动加默认析构函数;写了析构函数后,扔会自动加析构函数(自定义析构函数时,编译器会先执行自定义的析构函数再执行自动合成的析构函数)

只要创建对象就会调用一次构造函数
对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数(可在析构函数中进行堆内存的释放)

构造函数重载时,根据创建对象时实参调用对应的构造函数
析构函数不能被重载

0 0