構(gòu)造是先基類后派生,析構(gòu)是先派生后基類。一個形象的比喻就是蓋房子,蓋的時候從下網(wǎng)上,拆得時候從上往下(爆破拆除不算)

站在用戶的角度思考問題,與客戶深入溝通,找到東興網(wǎng)站設(shè)計與東興網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋東興地區(qū)。
構(gòu)造代碼塊的作用同樣是給對象進行初始化。對象一建立就運行構(gòu)造代碼塊了,而且優(yōu)先于構(gòu)造函數(shù)執(zhí)行。這里要強調(diào)一下,有對象建立,才會運行構(gòu)造代碼塊,類不能調(diào)用構(gòu)造代碼塊的,而且構(gòu)造代碼塊與構(gòu)造函數(shù)的執(zhí)行順序是前者先于后者執(zhí)行。
構(gòu)造代碼塊與構(gòu)造函數(shù)的區(qū)別是:構(gòu)造代碼塊是給所有對象進行統(tǒng)一初始化,而構(gòu)造函數(shù)是給對應的對象初始化,因為構(gòu)造函數(shù)是可以多個的,運行哪個構(gòu)造函數(shù)就會建立什么樣的對象,但無論建立哪個對象,都會先執(zhí)行相同的構(gòu)造代碼塊。也就是說,構(gòu)造代碼塊中定義的是不同對象共性的初始化內(nèi)容。
擴展資料
1)使用new操作符創(chuàng)建對象。如果含有靜態(tài)成員變量:
靜態(tài)成員變量的靜態(tài)代碼塊 - 靜態(tài)成員變量的代碼塊 - 靜態(tài)成員變量的構(gòu)造方法) - 靜態(tài)代碼塊 - 代碼塊 - 構(gòu)造函數(shù)
2)如果不含靜態(tài)成員變量:
靜態(tài)代碼塊 - (靜態(tài)成員變量的靜態(tài)代碼塊 - 靜態(tài)成員變量的代碼塊 - 靜態(tài)成員變量的構(gòu)造方法) - 代碼塊 - 構(gòu)造函數(shù)。靜態(tài)代碼塊只執(zhí)行一次,而每次創(chuàng)建對象都會調(diào)用共同的構(gòu)造代碼塊,而構(gòu)造函數(shù)也只在創(chuàng)建對象時執(zhí)行該對象的構(gòu)造函數(shù)。
參考資料來源:百度百科-構(gòu)造函數(shù)
基類的構(gòu)造函數(shù)以被聲明的順序被調(diào)用。下面是一個例子: class Y {...} class X : public Y {...} X one; 構(gòu)造函數(shù)的調(diào)用順序是下面的順序: Y(); // 基類的構(gòu)造函數(shù) X(); // 繼承類的構(gòu)造函數(shù) 對于多基類的情況,下面是一個例子: class X : public Y, public ZX one;構(gòu)造函數(shù)以聲明的次序調(diào)用。 Y(); // 基類構(gòu)造函數(shù)首先被調(diào)用Z();X();虛基類的構(gòu)造函數(shù)在任何非虛基類構(gòu)造函數(shù)前調(diào)用。如果構(gòu)造中包括多個虛基類,它們的調(diào)用順序以聲明順序為準。如果虛類是由非虛類派生而來,那非虛類的構(gòu)造函數(shù)要先被調(diào)用。下面是一個例子: class X : public Y, virtual public ZX one;調(diào)用順序如下: Z(); // 虛基類初始化 Y(); // 非虛基類 X(); // 繼承類 下面是一個復雜的例子: class base; class base2; class level1 : public base2, virtual public base; class level2 : public base2, virtual public base; class toplevel : public level1, virtual public level2; toplevel view; 構(gòu)造函數(shù)調(diào)用順序如下: base(); // 虛基類僅被構(gòu)造一次base2();level2(); // 虛基類base2();level1();toplevel();
分享標題:c語言中構(gòu)造函數(shù)先后順序,c語言結(jié)構(gòu)順序
網(wǎng)站網(wǎng)址:http://chinadenli.net/article18/dsidcdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、定制網(wǎng)站、面包屑導航、網(wǎng)站收錄、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)