C++類的析構函數

C++類的析構函數

構造函數和析構函數是類體定義中比較特殊的兩個成員函數

構造函數的學習:——————》C++類的構造函數

本文主要介紹構造函數析構函數異同以及析構函數使用方法

相同點

兩者都沒有返回值,不使用return語句,也不需要關鍵字void。

不同點

1、構造函數主要是用來在對象創建時,給對象中的一些數據成員賦值,主要目的計數來初始化對象。
2、析構函數的功能是用來釋放一個對象的,在對象刪除前,用它來做一些清理工作。
3、構造函數名標識符和類名標識符相同,析構函數名標識符就是類名標識符前加"~"符號。

析構函數使用方法:

class CPerson{
	public:
		~CPerson(){
			delete M;
		} 
		char M[30];
};

構造函數析構函數的入門應用源代碼:

#include<iostream>
#include<string.h>
using namespace std;
class CPerson{
	public:
		CPerson(){
			strcpy(M,"Hello World\0");
		}
		~CPerson(){
			delete M;
		} 
		char M[30];
		show(){
			cout<<M<<endl;
		}
};
int main(){
	
	CPerson p1;
	p1.show();
	
} 

結果圖:
析構函數
tips:對於以下的注意事項和調用環境,你要是心情好就看看,不想看就算了,其實沒什麼卵用。

使用析構函數的注意事項

1、一個類中只可能定義一個析構函數。
2、析構函數不能重載。

構造函數析構函數的調用環境

1、自動變量的作用域是某個模塊,當此模塊被激活時,自動變量調用構造函數,當退出此模塊時,調用析構函數。
2、全局變量在進入main函數之前會調用析構函數,在程序終止時會調用析構函數。
3、動態分配的對象在使用new爲對象分配內存時會調用構造函數,使用delete刪除對象時會調用析構函數。
4、臨時變量是爲支持計算,由編譯器自動產生的。臨時變量的生存期的開始和結尾會調用構造函數和析構函數。

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