日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]類的構造函數(shù)是在生成類的對象時自動調用的,它用來初始化對象的數(shù)據(jù)成員。類的析構函數(shù)是以類名前加上“~”為函數(shù)名的函數(shù),它在刪除對象時自動調用,即程序執(zhí)行離開初始化類對象的范圍時調用。析構函數(shù)本身并不實

類的構造函數(shù)是在生成類的對象時自動調用的,它用來初始化對象的數(shù)據(jù)成員。類的析構函數(shù)是以類名前加上“~”為函數(shù)名的函數(shù),它在刪除對象時自動調用,即程序執(zhí)行離開初始化類對象的范圍時調用。析構函數(shù)本身并不實際刪除對象,而是進行系統(tǒng)放棄內存之前的清理工作,使內存可以用于保存新的對象。

? 構造函數(shù)與析構函數(shù)是自動調用的,他們的調用順序取決于執(zhí)行過程進入和離開對象的順序。我們來舉個具體例子,來說明他們的調用順序。

?

//create.h

#ifndef CREATE_H

#define CREATE_H


?

class CreateAndDestroy{

public:

?? CreateAndDestroy(int); //構造函數(shù)

?? ~CreateAndDestroy(); //析構函數(shù)

private:

?? int data;

};


?

#endif


?

//ceate.cpp

#include

#include”create.h”


?

CreateAndDestroy::CreateAndDestroy(int value)

{

?? data = value;

?? cout<<”對象 ”<<data<<” 建立”;

}


?

CreateAndDestroy::~CreateAndDestroy()

{

?? cout<<”O(jiān)bject “<<data<<” destructor”<<endl;

}


?

//create1.h

#include

#include”create.h”


?

void create(void);


?

CreateAndDestroy first(1);//全局對象


?

int main()

{

?? cout<<”?? (全局對象在main之前建立)”<<endl;

?? CreateAndDestroy second(2);??? //局部對象

?? cout<<”?? (局部自動對象在main函數(shù)內部建立)<<endl;


?

?? static CreateAndDestroy third(3);? //局部對象

?? cout<<”?? (局部靜態(tài)對象在main中建立)“<<endl;


?

?? create();? //調用create()建立對象


?

?? CreateAndDestroy fourth(4);?? //局部對象

cout<<”?? (局部自動對象建立)”<<endl;

return 0;

}????????


?

void create(void)

{

?? CreateAndDestroy fifth(5);

?? cout<<”?? (局部自動對象在create()中建立)”<<endl;


?

?? static CreateAndDestroy sixth(6);

?? cout<<”?? (局部靜態(tài)對象在create()中建立)”<<endl;

??

?? CreateAndDestroy seventh(7);

?? cout<<”?? (局部自動對象在create()中建立)”<<endl;

}


?

對象fourth和second的析構函數(shù)在到達main結尾時一次調用。由于third是static局部對象,因此到程序結束時才退出,在程序終止時刪除所有其他對象之后和調用first的析構函數(shù)之前調用對象third的析構函數(shù)。函數(shù)create聲明三個對象。對象fifth和seventh是局部自動對象,對象sixth是static局部對象。對象seventh和fifth的析構函數(shù)在到達create結尾時自動調用。由于對象sixth是static局部對象,因此到程序結束時才退出。sixth的析構函數(shù)在程序終止時刪除所有其他對象之后和調用third和first的新構函數(shù)之前調用。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉