类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。
析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。
定义析构函数应满足以下的要求:
1,析构函数的名称是在构造函数的名称之前添加个“~”
2,析构函数没有参数
3,析构函数中不能通过return语句返回一个值。
4,一个类中只能有一个析构函数不可重载。
下面的实例有助于更好地理解析构函数的概念:
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
class Car{
public:
Car();//无参构造函数的声明
~Car();
string get_charname();
int get_seats();
private:
string m_pcarname;
int m_nseats;
};
Car::Car(){//定义无参的构造函数
cout << "car constructor !" << endl;
m_pcarname = "马云的迈巴赫";//定义指针成员的初值为nullptr,值为0
m_nseats = 4;
}
Car::~Car()
{
}
string Car::get_charname()
{
return m_pcarname;
}
int Car::get_seats()
{
return m_nseats;
}
int main(){
Car mycar;
cout << "汽车名" << mycar.get_charname() <<endl<< "座位有" << mycar.get_seats() <<"个"<<endl;
return 0;
}
运行结果为:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114815.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...