精華區beta Programming 關於我們 聯絡資訊
※ 引述《quota@kkcity.com.tw (我要出清)》之銘言: > 我不太瞭解 > CBox(double lv = 1.0, double bv = 1.0, double hv = 1.0): m_Length(lv), > m_Breadth(bv), > m_Height(hv) > { > cout << endl << "Constructor called."; > } > 建構子這裡的宣告是代表什麼? > 因為lv=1.0 後面又有m_Length(lv) 那我的lv值到哪裡去呢? 前面一個問題懶得拿筆推, 就給別人回答。 不過這幾個問題看下來, 你的確需要好好讀一本 C++ 的書。 double lv = 1.0, double bv = 1.0, double hv = 1.0 這些是預設引數值, 呼叫的時候沒傳就用那個預設值, 這個語言機制並非限定在建構子才能用, 像是 CBox x; 會讓三個 data member 都是 1.0, CBox x(2.0); 則 lv 是 2.0 而後面兩個是 1.0, 以此類推。 後面的資料成員初始列, 就是: m_Length = lv; m_Breadth = bv; m_Height = hv; 這樣而已, 會在後面 { } 內的程式碼開始執行前做這些動作, 要注意把它寫在初始列上跟你拆成上面三行寫在 { } 有不同的意義, 詳細內容你看書應該就會知道。 -- Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net School: National Tsing Hua University Department: Computer Science Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Undecided Homepage: https://it.muds.net/~uranus -- ╔═══╗ ┼────────────────────────╮ 狂狷 Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮ 年少 ┼╮ < IP:140.119.164.252 > ╰─╮ ╚╦═╦╝ From:61-230-224-172.dynamic.hinet.net ─╨─╨─ KGBBS 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩