廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 5137 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
s89tsvs62219
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++] c++繼承的問題~~
我查了幾本書都沒有說的很詳細~
可以知道的大大說清楚一點嗎.....

第一個

Porsche 繼承Car
Pporsche* pPorsche = new Porsche(100,3); <==他的建構需兩個參數,不重要
Car* pCar = pPorsch ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



獻花 x0 回到頂端 [樓 主] From:台灣 台北市 | Posted:2005-05-02 21:17 |
skyer
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

1.
C-Style 轉型.. 就是硬轉,管 Class 有沒有關係
在 Compile & Runtime 不作任何檢查.. 一但出錯就是....當!
在這裡,這個轉型是合法的.. 子類別可以轉型成父類別

2.
感覺怪怪的..
Car* pCar = static_cast <Car*> pPorsche;
這樣好些 :p
static_cast 轉型的話,會作 compile-time check。
也就是說,如果你要把 a 轉成 b, 而 a, b 是沒有任何關係的 object
則在編譯時,就會有 error message

static_cast 不作 runtime-check, 一但出錯就是.... 當!

3.
先將 pCar 轉回成 Porsche, 再呼叫 Porsche 的 member function - maxSpeed()


PS: C++ 的轉型還有
* dynamic_cast
跟 static_cast 的差別就是會作runtime check, 如果無法轉型的話,會傳回 NULL

* reinterpret_cast
我的感覺就是跟 C-Style 轉型一樣,但好像有點小區別..
這個好像有加上一點限制

此文章被評分,最近評分記錄
財富:30 (by codeboy) | 理由: 感謝幫忙講解喔~^^


獻花 x0 回到頂端 [1 樓] From:台灣中華電信 | Posted:2005-05-03 12:48 |
s89tsvs62219
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

一樓大大講解的好清楚丫~感謝謝大大,我有點概念了


獻花 x0 回到頂端 [2 樓] From:台灣 台北市 | Posted:2005-05-03 14:01 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.117185 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言