有如下程序 #include using namespace std; int i=1; class Fun {
有如下程序 #include <iostream> using namespace std; int i=1; class Fun { public: static int i; int value( ){ return i-l;} int value( )const { return i+1;} }; int Fun::i=2; int main( ){ int i=3; Fun funl; const Fun fun2; ___________ return 0; } 若程序的輸出結(jié)果是: 123 則程序中下劃線處遺漏的語句是
A.cout<<funl.value( )<<Fun::i<<fun2.value( );
B.cout<<Fun::i<<funl.value()<<fun2.value( );
C.cout<<funl.value( )<<fun2.value( )<<Fun::i;
D.cout<<fun2.value( )<<Fun::i<<fun1.value( );
正確答案:A解析:本題主要考查的是常成員函數(shù)。const關(guān)鍵字可以用于參與對(duì)重載函數(shù)的區(qū)分。重載的原則是:常對(duì)象調(diào)用常成員函數(shù),一般對(duì)象調(diào)用一般成員函數(shù)。當(dāng)類中只有一個(gè)常成員函數(shù)時(shí),一般對(duì)象也可以調(diào)用該常成員函數(shù)。由此可見,通過fun1調(diào)用value()函數(shù)時(shí),是調(diào)用前一個(gè),而通過fun2調(diào)用value()函數(shù),是調(diào)用后一個(gè)。另外,value()函數(shù)中訪問的i是類中定義的數(shù)據(jù)成員i,全局變量i在類中被“屏蔽”。觀察4個(gè)選項(xiàng)不難發(fā)現(xiàn),要輸出的表達(dá)式來來去去只有3個(gè):fun1.value()、fun2.value()和
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。