[問題] Inheritance
我首先寫了一個Package Class
裡面有一個showDetail()是把Package中的各個data member照格式輸出
該function有呼叫一個Package中的函式calculateCost()
然後我定義了一個derived class TwoDayPackage
並且overload掉原本的calculateCost()
結果在main裡面宣告一個屬於TwoDayPackage的object p1並且call
p1.showDetail();
結果顯示出來的資料並不是overload以後的calculateCost()算出來的結果而是
Package::calculateCost算出來的結果
我就想說是不是base class裡面的function如果有call 該base class 內的另一個
member function時就算有overload掉還是會call base class裡的那一個
所以又在TwoDayPackage裡面定義了(一樣的)showDetail()
結果compile起來有時候是對的有時候是錯的
請問這是compiler defined的東西嗎 還是我compiler的問題
囧 我是用devcpp 我知道很多人不喜歡他不過我們教授是用他所以我也跟著用
最後我是在main裡面直接p1.TwoDayPackage::showDetail才正確
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.65.45
推
06/11 21:18, , 1F
06/11 21:18, 1F
→
06/11 21:19, , 2F
06/11 21:19, 2F
→
06/11 21:19, , 3F
06/11 21:19, 3F
→
06/11 21:21, , 4F
06/11 21:21, 4F
推
06/11 21:22, , 5F
06/11 21:22, 5F
→
06/11 21:23, , 6F
06/11 21:23, 6F
→
06/11 21:23, , 7F
06/11 21:23, 7F
→
06/11 21:23, , 8F
06/11 21:23, 8F
推
06/11 21:24, , 9F
06/11 21:24, 9F
→
06/11 21:24, , 10F
06/11 21:24, 10F
→
06/11 21:25, , 11F
06/11 21:25, 11F
→
06/11 21:26, , 12F
06/11 21:26, 12F
→
06/11 21:26, , 13F
06/11 21:26, 13F
推
06/11 21:30, , 14F
06/11 21:30, 14F
→
06/11 21:31, , 15F
06/11 21:31, 15F
→
06/11 21:36, , 16F
06/11 21:36, 16F
→
06/11 21:37, , 17F
06/11 21:37, 17F
→
06/11 21:39, , 18F
06/11 21:39, 18F
→
06/11 21:40, , 19F
06/11 21:40, 19F
→
06/11 21:41, , 20F
06/11 21:41, 20F
→
06/11 21:42, , 21F
06/11 21:42, 21F
→
06/11 21:42, , 22F
06/11 21:42, 22F
→
06/11 21:43, , 23F
06/11 21:43, 23F
→
06/11 21:43, , 24F
06/11 21:43, 24F
推
06/11 21:47, , 25F
06/11 21:47, 25F
→
06/11 21:57, , 26F
06/11 21:57, 26F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章