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