Re: [問題] 如何用父類別指標 call子類別函式??

看板Programming作者時間18年前 (2007/09/10 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《swwu83.bbs@bbs.wretch.cc》之銘言: > ※ 引述《superfriday.bbs@ptt.cc (你偷try我帳號喔..~~)》之銘言: > > 作者: superfriday (你偷try我帳號喔..~~) 看板: C_and_CPP > > 標題: [問題] 如何用父類別指標 call子類別函式?? > > 時間: Thu Aug 30 15:23:39 2007 > > 我想請問一下 > > 我有下面的case > > class A{ > > public: > > virturl void fun(){printf("this is A\n");} > > }; > > class B: public A{ > > void fun() {printf("this is B\n");} > > }; > > class C: public A{ > > void fun() {printf("this is C\n");} > > void myfun(){printf("this is my function\n");} > > } > > main(){ > > C obj; > > A* pobj=&obj; > > pobj->fun(); \\ 印出this is C > > pobj->??? \\如何印出this is my function?? > > } > > 我的問題是我要如何利用多型來call子類別的function(非virtual function)?? 可以用 C++ 的 dynamic_cast ... if( C *pc = dynamic_cast<C *>(pobj) ) { pc->myfun(); } 你可以參考一下這個網頁: http://caterpillar.onlyfun.net/Gossip/CppGossip/dynamicCast.html dreamer. =) -- ╭╢師大資訊白色情迷╟┬─ ⊙ Origin : snow.ice.ntnu.edu.tw ├╨→ 140.122.77.49←╜╰─ ☆ From : alg.csie.ntnu.edu.tw
文章代碼(AID): #16v3JW00 (Programming)
文章代碼(AID): #16v3JW00 (Programming)