国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

【c++】通過具體實驗對比分析“構造函數”與“析構函數”

2019-11-09 20:14:52
字體:
來源:轉載
供稿:網友

Test.h

#ifndef _TEST_H_#define _TEST_H_class Test{public:	Test(); //構造函數:主要用來初始化函數			//特點:1) 函數名和類名完全相同			//		2) 不能定義構造函數的返回類型,也不能用void			//		3) 應聲明為公有函數,使其能夠被調用			//		4) 可以有任意類型和任意個數的參數,一個類可有多個構造函數(重載)			//		5) 全局對象的構造函數先于 main函數			//		(該類就有2個,其中無參數的稱為:默認構造函數)			//		(如果未聲明默認構造函數,系統會自動產出一個默認構造函數)			//執行時間:在類對象被聲明時立即自動調用		Test(int x, int y, int z);//構造函數重載:雖然函數名相同,但由于							  //參數的 個數、類型、順序 不同,會系統會將這些							  //函數名相同的函數進行重新命名,從而根據參數進行識別	~Test();//析構函數:不能有參數			//特點:1) 函數名和類名相同,前面多一個‘~’			//		2) 沒有返回類型			//		3) 沒有參數			//		4) 不能被重載			//		5) 如果沒有定義,系統會自動生成一個默認析構函數,其是一個空函數			//執行時間:在類對象被釋放時調用PRivate:	int x_;	int y_;	int z_;};#endif

Test.cpp

#include <iostream>#include "Test.h"using namespace std;Test::Test(){	cout << "Initializing default" << endl;}Test::Test(int x, int y, int z){	x_ = x;	y_ = y;	z_ = z;	cout << "Initliazing " << endl;	cout << "x_ = "<< x_ << "/t";	cout << "y_ = "<< y_ << "/t";	cout << "z_ = "<< z_ <<endl;}Test::~Test(){	cout << "Destory test" << endl;}Main.cpp

#include "Test.h"using namespace std;Test t0; //全局對象的構造函數先于 main 函數int main(){	cout << "main function" << endl;		Test t1;	Test t2(1, 2, 3);	Test * t3 = new Test(4, 5, 6); //初始化 t3 (此時會調用構造函數)		delete t3;					   //釋放 t3 (此時會調用析構函數)	cout << "Delete end" << endl;	return 0;}結果為:

總結:1) 構造函數在定義對象時立即調用 (主要用來初始化對象)    2) 析構函數在釋放對象時調用


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 眉山市| 都匀市| 大港区| 尖扎县| 大丰市| 临西县| 凤凰县| 寿阳县| 南皮县| 平阴县| 常宁市| 社会| 多伦县| 潢川县| 光泽县| 汤阴县| 泊头市| 广河县| 茂名市| 普兰店市| 韩城市| 齐河县| 涿州市| 瓦房店市| 湘潭市| 平顶山市| 赞皇县| 咸宁市| 道孚县| 山阴县| 宁波市| 廉江市| 万载县| 双城市| 奉贤区| 河池市| 环江| 锡林郭勒盟| 枣阳市| 儋州市| 荣成市|