c++-析構函數

類的析構函數是類的一種特殊的成員函數,它會在每次刪除所創建的對象時執行。

析構函數的名稱與類的名稱是完全相同的,只是在前面加了個波浪號(~)作爲前綴,它不會返回任何值,也不能帶有任何參數。析構函數有助於在跳出程序(比如關閉文件、釋放內存等)前釋放資源。

定義析構函數應滿足以下的要求:

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;
}

運行結果爲:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章