有如下程序: #include using namespace std; class Sample{ public:
有如下程序: #include<iostream> using namespace std; class Sample{ public: Sample()<) ~Sample(){cout<<'*';} }; int main(){ Sample temp[2],*pTemp[2]; return 0; } 執(zhí)行這個(gè)程序輸出星號(hào)(*)的個(gè)數(shù)為( )。
A.1
B.2
C.3
D.4
正確答案:B解析:此題考查的是構(gòu)造函數(shù)和析構(gòu)函數(shù)。構(gòu)造函數(shù)在對象被創(chuàng)建時(shí)由系統(tǒng)自動(dòng)調(diào)用,而析構(gòu)函數(shù)在對象的生存期即將結(jié)束時(shí)由系統(tǒng)自動(dòng)調(diào)用。此題中,主程序在創(chuàng)建Sample類的對象temp[2]數(shù)組時(shí),調(diào)用Sample類的默認(rèn)構(gòu)造函數(shù),在主函數(shù)退出時(shí),調(diào)用析構(gòu)函數(shù)清除對象temp[2],輸出字母*,因?yàn)閷ο笫前瑑蓚€(gè)元素的數(shù)組,所以調(diào)用兩次析構(gòu)函數(shù),即輸出兩個(gè)*。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。