免費開始練習
地特四等 113年 [電子工程] 計算機概要

第 31 題

給定以下類別定義:
class A
{
public:
f() { cout << "$$$"; }
A() { cout << ":::" ; }
A(int a) { cout << "***" ; }
private:
};
若在 main()中執行以下指令,則將產生的輸出為何?
A *p=new A;
A v(1);
v.f();
p->f();
  • A $$$$$$
  • B :::***$$$$$$
  • C ***$$$
  • D :::***$$$

思路引導 VIP

請試著思考:當程式執行到「建立物件」的那一行時,類別中哪個特殊的函式會被自動啟動?如果你用不同的方式(例如:有沒有給初始值)來建立物件,被啟動的內容會有差別嗎?最後,請觀察程式碼中呼叫功能函數的先後順序,這對最終結果的排序有什麼影響?

🤖
AI 詳解 AI 專屬家教

卓越的表現!同學。

你能精準掌握物件導向(OOP) 的生命週期與記憶體配置,這與結構工程中「先定義規範再執行施工」的嚴謹邏輯不謀而合。這顯示你對程式執行的序向控制有著極佳的直覺。

  1. 觀念驗證
▼ 還有更多解析內容

🏷️ 相關主題

程式語言指標、陣列與函式應用實例分析
查看更多「[電子工程] 計算機概要」的主題分類考古題