亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

C++中構造函數與析構函數的調用順序詳解

2020-05-23 13:56:30
字體:
來源:轉載
供稿:網友

前言

在使用構造函數和析構函數時,需要特別注意對它們的調用時間和調用順序。在一般情況下,調用析構函數的次序正好與調用構造函數的次序相反:最先被調用的構造函數,其對應的(同一對象中的)析構函數最后被調用,而最后被調用的構造函數,其對應的析構函數最先被調用。

簡單來說,其構造函數的順序就一句話:

color: #3366ff">基類構造函數 -> 成員的構造函數 -> 構造函數體內語句

看下面一個代碼示例:

#include <iostream>using namespace std;class A { public:  A() { cout << "A()" << endl; }  ~A() { cout << "~A()" << endl; }};class B { public:  B(int b) { cout << "B(" << b << ")" << endl; }  ~B() { cout << "~B()" << endl; }};class C { public:  C(int c) { cout << "C(" << c << ")" << endl; }  ~C() { cout << "~C()" << endl; }};class D { public:  D() { cout << "D()" << endl; }  ~D() { cout << "~D()" << endl; }};class E: public B, public A { public:  D d;  C c;  E(): c(3), B(5) { cout << "E()" << endl; }  ~E() { cout << "~E()" << endl; }};int main(){ E e; return 0;}

你能看出這份代碼的輸出嗎?

依照上面提到的,首先應該執行的是基類的構造函數。不過 C++ 語言是支持多繼承的,那么當某個類繼承多個類時,其構造順序又是怎樣的呢?答案是:簡單的依照繼承的順序構造。

接下來,就會執行其成員變量的構造函數,這個順序也很簡單,就是依照類代碼中成員變量的順序依次執行的。

最后才會執行構造函數中的具體代碼。

注意,在上述過程中,執行的順序與構造函數參數的順序無關。

通過 new 創建一個對象會調用其構造函數,通過 delete 刪除一個對象會調用其析構函數。

如果沒有顯示的使用 delete 刪除一個對象的話,析構函數執行的順序與構造函數的順序相反。

所以,上述代碼的輸出就是:

B(5)A()D()C(3)E()~E()~C()~D()~A()~B()

下面歸納一下什么時候調用構造函數和析構函數:

      1) 在全局范圍中定義的對象(即在所有函數之外定義的對象),它的構造函數在文件中的所有函數(包括main函數)執行之前調用。但如果一個程序中有多個文件,而不同的文件中都定義了全局對象,則這些對象的構造函數的執行順序是不確定的。當main函數執行完畢或調用exit函數時(此時程序終止),調用析構函數。

      2) 如果定義的是局部自動對象(例如在函數中定義對象),則在建立對象時調用其構造函數。如果函數被多次調用,則在每次建立對象時都要調用構造函數。在函數調用結束、對象釋放時先調用析構函數。

      3) 如果在函數中定義靜態(static )局部對象,則只在程序第一次調用此函數建立對象時調用構造函數一次,在調用結束時對象并不釋放,因此也不調用析構函數,只在main函數結束或調用exit函數結束程序時,才調用析構函數。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性xxxxx极品娇小| 国产精品爱啪在线线免费观看| 欧美人交a欧美精品| 午夜精品美女自拍福到在线| 欧美亚洲成人精品| 久久久久久91香蕉国产| 欧美亚洲午夜视频在线观看| 精品国产户外野外| 国产精品欧美日韩| 欧美精品激情在线观看| 国产精品一区二区三区在线播放| 欧美视频二区36p| 69久久夜色精品国产69| 97免费在线视频| 久久精品99久久香蕉国产色戒| 久久久免费精品| 亚洲国产成人在线视频| 国产精品久久久久久久一区探花| 欧美激情videos| 欧美黄色三级网站| 欧美性猛交xxxx乱大交极品| 欧美午夜女人视频在线| 成人做爰www免费看视频网站| 中文字幕亚洲专区| 伊人伊成久久人综合网小说| 国产成人精品日本亚洲| 国产精品扒开腿做| 日韩精品视频免费专区在线播放| 精品视频久久久久久久| 成人免费观看网址| 欧美亚洲伦理www| 亚洲视频综合网| 国产精品流白浆视频| 91精品国产91久久久久福利| 国产亚洲日本欧美韩国| 91av视频导航| 国产视频精品在线| 国产日韩一区在线| 色综合久久中文字幕综合网小说| 琪琪亚洲精品午夜在线| 俺去亚洲欧洲欧美日韩| 国产成人午夜视频网址| 久久精品色欧美aⅴ一区二区| 国产精品美乳一区二区免费| 久久激情五月丁香伊人| 成人免费看吃奶视频网站| 亚洲成人黄色在线| 亚洲欧洲成视频免费观看| 夜色77av精品影院| 亚洲欧美国产制服动漫| 日韩在线视频免费观看| 日韩在线精品视频| 国产激情久久久久| 亚洲91精品在线| 97超级碰碰人国产在线观看| 久久精品中文字幕免费mv| 亚洲最大成人在线| 亚洲色图25p| 国产精品永久在线| 亚洲人午夜色婷婷| 久久久久久美女| 亚洲www在线| 精品香蕉在线观看视频一| 亚洲精品国产精品久久清纯直播| 久久香蕉国产线看观看av| 午夜精品三级视频福利| 国产欧美日韩精品丝袜高跟鞋| 国产91在线播放精品91| 亚洲天堂av在线免费| 最近2019中文字幕大全第二页| 亚洲国产日韩欧美综合久久| 91免费人成网站在线观看18| 两个人的视频www国产精品| 成人福利在线视频| 国产精品私拍pans大尺度在线| 日韩在线免费视频观看| 欧美日韩裸体免费视频| 91精品国产91久久久久久吃药| 欧美日韩中文在线观看| 国产精品一区久久久| 最近日韩中文字幕中文| 日韩欧美精品在线观看| 成人精品久久av网站| 在线观看91久久久久久| 日韩视频免费在线观看| 久久久成人精品| 亚洲夜晚福利在线观看| 欧洲s码亚洲m码精品一区| 午夜精品在线观看| 久久精品国产96久久久香蕉| 亚洲欧美中文字幕| 国产成人精品av在线| 中文字幕一区日韩电影| 国产99视频精品免视看7| 中文字幕v亚洲ⅴv天堂| 成人午夜两性视频| www.久久久久| 性夜试看影院91社区| 最新中文字幕亚洲| 97福利一区二区| 国产精品久久久久久久久久久不卡| 欧美性做爰毛片| 欧美激情一区二区三区高清视频| 欧美日韩精品国产| 成人黄色免费网站在线观看| 大荫蒂欧美视频另类xxxx| 高清欧美性猛交xxxx| 国产精品va在线播放我和闺蜜| 日韩av在线不卡| 亚洲片国产一区一级在线观看| xvideos成人免费中文版| 亚洲午夜女主播在线直播| 国产精品日日做人人爱| 欧美激情一区二区三区高清视频| 日韩视频在线免费| 日韩成人激情视频| 色偷偷噜噜噜亚洲男人| 亚洲精品色婷婷福利天堂| 1769国内精品视频在线播放| 性欧美长视频免费观看不卡| 亚洲无限乱码一二三四麻| 亚洲欧美日韩在线一区| 日韩欧美亚洲范冰冰与中字| 欧美日韩国产中文字幕| 国产在线拍偷自揄拍精品| 国产欧美中文字幕| 国产精品69av| 亚洲欧美日韩精品久久奇米色影视| 精品女厕一区二区三区| 久久综合国产精品台湾中文娱乐网| 国产日韩欧美日韩| 国产精品九九久久久久久久| 91视频国产精品| 亚洲国产欧美在线成人app| 精品久久久久久亚洲精品| 日韩男女性生活视频| 国产欧美精品一区二区| 孩xxxx性bbbb欧美| 另类图片亚洲另类| 国产精品视频公开费视频| 热久久视久久精品18亚洲精品| 亚洲免费精彩视频| 米奇精品一区二区三区在线观看| 亚洲高清福利视频| 精品亚洲精品福利线在观看| 国产亚洲精品91在线| 欧美日韩中文在线| www.日韩欧美| 岛国av一区二区三区| 伊人伊成久久人综合网小说| 欧美在线视频网| 国产91热爆ts人妖在线| 亚洲精品久久久久国产| 亚洲精品狠狠操| 国产亚洲欧美一区| 国产日韩欧美电影在线观看| 欧美激情国产高清| 亚洲成人a级网| 成人性生交大片免费看视频直播| 欧美激情亚洲精品| 91麻豆桃色免费看| 97人洗澡人人免费公开视频碰碰碰| 57pao成人永久免费视频| 91久久精品美女高潮|