作者查詢 / scale0125
作者 scale0125 在 PTT [ C_and_CPP ] 看板的留言(推文), 共50則
限定看板:C_and_CPP
看板排序:
首頁
上一頁
1
下一頁
尾頁
7F→:感謝F大的解答,我比較疑或的是我用了繼承,為何02/05 12:09
8F→:printB2 在 A,B 中是不同的。02/05 12:11
12F→:所以我可以說 printB2在B中有兩個嗎?02/05 12:15
13F→:因為沒有加virtual 所以有一個是public,另一個是privat02/05 12:16
15F→:這樣也不算是overloading,我的參數都是空的02/05 12:16
23F→:這樣說來,一開始在B裡沒有寫public: 的話02/05 13:29
24F→:printB1,printB2都算B裡新的private的函數02/05 13:31
25F→:而非所謂的override了,是這樣嗎?但是加了virtual卻有效02/05 13:32
29F→:剛剛就第二個case把virtual拿掉02/05 14:13
30F→:出現ABCDABAB*****************ABCDABAB02/05 14:14
31F→:本來預期出現 ABABABAB*****************ABABABAB 說02/05 14:14
35F→:可是我Class B裡的 method都是放在public:底下02/05 14:17
37F→:在沒有virtual的狀況下 應該是要執行父類別的02/05 14:18
41F→:因為我看書上是說 子類別的public:底下是放新的method或02/05 14:21
42F→:放 要override的 method02/05 14:21
44F→:您第一推的多形我大概了解,反而是子類別宣告放子物件02/05 14:23
45F→:我目前還沒想通02/05 14:23
47F→:也是,感謝大大回答,我再整理一下,感謝感謝。02/05 14:29
48F→:我發現我不懂的是 子物件b呼叫doPrintB1,doPrintB2時02/05 16:04
49F→:不是直接調用自己的而是還要使用父類別的doPrintB1,02/05 16:05
50F→:及doPrintB202/05 16:05
53F→:以case1的例子就是找父類別的,對吧~~02/05 16:15
54F→:然後 父類別的doPrintB1,doPrintB2裡面的method是父子02/05 16:17
56F→:都有的02/05 16:17
58F→:就是remark沒有拿掉 ClassB裡面只有printB1,printB202/05 16:18
60F→:此時子物件透過doPrintB1,doPrintB2去找父類別裡的02/05 16:21
61F→:printB1,printB202/05 16:21
62F→:我不懂的是 子物件也有printB1,printB202/05 16:21
63F→:為何不是直接去找子類別的printB1,printB202/05 16:22
64F→:因為b本身是子物件,宣告時也是用子類別宣告02/05 16:23
65F→:我以為就只是繼承doPrintB1,doPrintB2然後去找自己的02/05 16:24
66F→:printB1,printB202/05 16:25
68F→:但是繼承的話不是會把父類別的函式放到子類別中~~02/05 16:26
71F→:因為我用java卻去寫 子物件,宣告時也是用子類別宣告02/05 16:34
72F→:然後也是不在子類別裡寫doPrintB1,doPrintB202/05 16:35
74F→:結果卻是呼叫子類別的printB1,printB202/05 16:36
76F→:所以一直想不通。02/05 16:37
77F→:沒有 所以在java裡面其實只有實驗doPrintB2呼叫printB202/05 16:38
78F→:但我都是用 子類別宣告,子物件去做呼叫02/05 16:40
80F→:printB1有加,printB2沒有02/05 16:43
82F→:都加的話 b.doPrintB1印出C , b.doPrintB1印出D02/05 16:48
84F→:恩該怎麼說呢,我以為在case1的情況下,02/05 16:51
85F→:不管有沒有加virtual, 子類別宣告,子物件去做呼叫02/05 16:51
86F→:doPrintB1,doPrintB2 都應該是 C 和 D02/05 16:52
88F→:當然這是我在實際跑程式之前"自己認為"02/05 16:54
92F→:所以我才會有case2出來,才知道case1不是我想的那樣將02/05 16:58
93F→:doPrintB1,doPrintB2視為子類別的method02/05 16:59
94F→:再次感謝F大花了那麼多時間協助 <(__)>02/05 17:00
97F→:恩 我算是用結果論去猜02/05 17:03
98F→:所以遇到不同題型就掛了...02/05 17:07
首頁
上一頁
1
下一頁
尾頁