※ 引述《"傑西" <
litt...@bbs.openfind.com.tw>》之銘言:
> 因為剛接觸c++不久
> 所以還不是很懂物件的特性
很難講的清(搞不好會越比喻越模糊)
接觸久了自然就會懂
加油!加油!
> 想要問一下說....物件跟物件之間該如何互動ㄋ...
> 要怎麼讓他們連在一線阿....
> 感覺很怪~~
物件裡面包含許多小物件
每個物件又都有其專屬的行為模式
這麼說好了
宣告一個木頭物件
Wood obj;
該物件擁有一個的成員 temperature (型態可能為int)
而木頭有什麼樣的行為模式呢?
可以燃燒
所以假設它有一個行為模式(method)為「燃燒」void Fire()
則
obj.Fire();
則可能升高他的 temperature
此外兩塊木頭可以釘在一起成為另一塊木頭
所以函數 const Wood& operator+(const Wood &w) const
可能也是木頭的行為(可以釘在一起的行為)
因此
Wood w1, w2, w3;
.
w3 = w1 + w2; // 釘在一起的行為
(上式與「 w3 = w1.operator+(w2); 」等價)
所以只要設定好各種類別()就能夠方便的處理各種需要
並且在程式出現非預期的錯誤時
能夠『針對個別物件除錯』
而不是將整個程式拿來除錯(這將會是可怕的浩大工程)
此外幾塊的 Wood 也可構成一個 Chair
則
class Chair
{
private:
Wood array[3];
.(omit)...
};
很容易的就達到程式碼重複使用的目的
由於 Chair 是由 Wood 所組成
所以 Chair 裡頭也可以燃燒
即
Chair.array[0].Fire();
當然其中涉及了一些權限的問題
不過簡言之大概就醬
加油!加油!
--
宋楚瑜、陳萬水在媽祖面前發下重誓
宋楚瑜、陳萬水和他的親近家屬,沒有在夏威夷有什麼別墅,
宋楚瑜、陳萬水說他們連別野都沒有!
在投票的前一天,只要找的到,我宋楚瑜本人退選!
找的到,我宋楚瑜本人退選!
你相信這種做賊兼白賊的人嗎?還是你的人格就像宋楚瑜!
--
好康訊息!
Openfind 提供免費撥接電話:40508888
帳號:openfind 密碼:openfind
--
http://bbs.openfind.com.tw
※來源:203.187.*