Re: [問題] 關於物件導向觀念的問題

看板OOAD作者 (何逸凡)時間16年前 (2008/04/01 07:41), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串4/5 (看更多)
※ 引述《awes6380 (明智)》之銘言: : 一個子類別C裡定義了一個跟父類別S裡名稱一樣的function f() : 此時有一個物件o定義如下: : C o=new C(); : S p=o; : 此時p.f()和o.f()指的是同一個function,這種觀念稱為? 只是路過看到,我想或許題目的意思是: S 是一個有完整定義的class C 繼承 S , 並且override f 至於那段程式碼,指的只是類似下面這段code中,o和a的關係@@;;;; (但是我想原來這段code應該是Java, 因為那個assign用c++可以做的骯髒事太多了XD) 不過說這題在選項前的那個敘述,目的應該是想把情況限制在override 如果沒有E的話,當然答案是很好選啦. 可是因為有E,反向思考的話,要讓p.f()跟o.f()指的是同一個function, 也不見得只有override這一種狀況. (這是找老師討分數的講法.....XD) #include <iostream> using namespace std; class A {public: virtual void foo() {cout << "a.foo" << endl;}}; class B : public A {public: void foo() {cout << "b.foo" << endl;}}; main() { B* o = new B(); A* a = o; A* aa = new A(); o->foo(); a->foo(); aa->foo(); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.152.7 ※ 編輯: Eventis 來自: 61.64.152.7 (04/01 07:57)

04/01 08:16, , 1F
這程式有memory leak XD (逃~~)
04/01 08:16, 1F

04/02 02:30, , 2F
反正....就結束啦XD
04/02 02:30, 2F

04/02 02:34, , 3F
想說程式結束應該都會被撿回去,就懶得清了XD
04/02 02:34, 3F
文章代碼(AID): #17yNQQ0l (OOAD)
文章代碼(AID): #17yNQQ0l (OOAD)