Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

那個虛擬函數唷...不懂啦...

0 views
Skip to first unread message

我是北工小蕃薯

unread,
Oct 21, 1996, 3:00:00 AM10/21/96
to

唉.....不知是我太笨還是怎樣...
已經看過好多書了...還是不懂虛擬函數是幹啥的...
也不是不懂啦...似懂非懂...有誰幫忙解決一下困擾呢?
又它的實際運用該運用在什麼地方呢??
好向是在處理多重繼承的問題...不過還是不懂啦!!
有誰幫忙寫個範例,並且解釋解釋呢?? 感激不盡....

--
※ 貓空行館小小貓 lrobin... 從 140.124.60.156 來此打尖休息
●Origin: 政大資科貓空行館● <bbs.cs.nccu.edu.tw> [140.119.164.150]

得了目眩症...唉...

unread,
Oct 21, 1996, 3:00:00 AM10/21/96
to

※ 引述《lrobi...@bbs.cs.nccu.edu.tw (我是北工小蕃薯)》之銘言:
: 唉.....不知是我太笨還是怎樣...

: 已經看過好多書了...還是不懂虛擬函數是幹啥的...
: 也不是不懂啦...似懂非懂...有誰幫忙解決一下困擾呢?
: 又它的實際運用該運用在什麼地方呢??
: 好向是在處理多重繼承的問題...不過還是不懂啦!!
: 有誰幫忙寫個範例,並且解釋解釋呢?? 感激不盡....

class shap
{
.
. -->data
.
public:
virtual show(){}; -->virtual func
};


class rect:public shap
{

public:
virtual show(){ "show a rect !" };
};

class circle:public shap
{

public:
virtual show(){"show a circle "};

};


void main(void)
{
shap *m_shap;
rect *m_rect;
circle *m_circle;

m_rect->set(......);
m_circle->set(......); -->假設有這個函示,用來設定物件....

shap=m_rect;
shap->show();----->此時會秀出 rect
shap=m_circle;
shap->show(); ----->秀出 circle;
}

大致上如此....只是一個流程....
至於 virtual func 是用來管理衍生出的物件(主要應用層面...).....
當一些物件有著相似的性質...並且有相似的行為時
就可使用.....virtual func
而在使用這些相似物件時......你就可用物件所屬的原始類別去管理他
就是一種 a kind of ....的觀念.....
也是 OO 的基本觀念.....
嗯....這樣說你大概不能一時體會......
參考 世紀末軟體革命 1 . 2
兩本書...會有幫助的.....


--

生為程式人,
死為程式鬼.....

--
※ Origin: 元智工學院風之塔 BBS <bbs.yzit.edu.tw> ◆ From: [140.138.252.165]

0 new messages