Re: [問題] 關於物件導向觀念的問題
※ 引述《awes6380 (明智)》之銘言:
: 一個子類別C裡定義了一個跟父類別S裡名稱一樣的function f()
: 此時有一個物件o定義如下:
: C o=new C();
: S p=o;
: 此時p.f()和o.f()指的是同一個function,這種觀念稱為?
: A、Encapsulation
: B、Overloading
: C、Inheritance
: D、Polymorphism
: E、以上皆非
: 不知答案是哪一個呢?
: 另外請教一下,上例中S p=o;是在實做downcast嗎?
我來猜一下好了
1. 父類別f function有加virtual, 且在子類別中定義的f參數也跟父類別中的依樣
此時答案應該是polymorphism
2. 那不管在父類別中有沒有加virtual, 在子類別中f的定義, 參數並沒有跟父類別一樣
也就是說, 在父類別中的定義跟子類別中的定義只有名稱依樣
此時應該是E, 會造成function hidding(請查閱effective c++)的現象.
以上 不知道對不對 XD
此外題目好像不是很完整.....S C的關係是?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.230.132
※ 編輯: saladim 來自: 122.116.230.132 (03/30 01:32)
討論串 (同標題文章)
OOAD 近期熱門文章
PTT數位生活區 即時熱門文章