Examly題庫立即開始練習
2 類科共用卷
普考-電信工程普考-電子工程
計算機概要11229單選題

給定以下類別定義: class A { private: static int cnt; class B { private: public: }; B* p[5]; public: A() {cnt=0;} int f() { if (cnt<5) p[cnt++]=new B; return cnt; } }; int A::cnt=-100; 若在 main()中執行以下指令: A var; var.f(); var.f(); cout << var.f(); 則將產生的輸出為何?

A1
B3正確答案
C5
D7
答案與詳解
B
正確答案
建構子 A() 把 static cnt 重設為 0,呼叫三次 f() 後 cnt 累加為 3。

為什麼答案是 B

var 建構時 A() 把 cnt 設為 0(覆寫類外初始化的 -100)。三次 var.f() 每次 cnt<5 成立,cnt++ 依序變成 1、2、3,最後 cout 印 3。

考點:計數錯誤考點:static+建構子考點:上限誤讀考點:誘答
載入中…

計算機概要 相關題目

想練更多計算機概要考古題?

Examly 收錄 38 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Download on theApp Store即將推出Google Play
黑皮