※ 引述《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"的狂狷不馴;屬於年少的輕狂色彩 ◎