On The Road
(cond ((less 'code) (less 'bug)))
C++博客
首頁
新隨筆
聯(lián)系
聚合
管理
隨筆 - 119 文章 - 290 trackbacks - 0
博客搬家了哦,請移步
叫我abc
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
《GAME PROGRAMMING GEMS6》讀書筆記(4)
《UNIX編程藝術(shù)》讀書筆記(4)
month-flow(5)
mysql入門(3)
垃圾收集(4)
我的博客
叫我abc
博客搬家啦
搜索
積分與排名
積分 - 304348
排名 - 84
最新評論
1.?re: C++ std::fstream open mode
i'am got
--hdj
2.?re: cppcheck的使用
你好,你會使用cppcheck嗎?@robert
--wqq
3.?re: 垃圾收集的那點(diǎn)事(H)
非常感謝
--7Qing_
4.?re: 高效調(diào)用lua函數(shù)
為什么提示沒有findLuaItem這個函數(shù)?
--sdfasf
5.?re: android ndk調(diào)試知識[未登錄]
博主你好,請問如果沒有.so的源代碼,應(yīng)該如何進(jìn)行arm的匯編級調(diào)試呢?
--dennis
閱讀排行榜
1.?cppcheck的使用(17026)
2.?十步精通新語言(10669)
3.?內(nèi)存池實(shí)現(xiàn)(9887)
4.?高效調(diào)用lua函數(shù)(9238)
5.?在lua腳本中使用unicode(8217)
虛函數(shù)在構(gòu)造函數(shù)與析構(gòu)函數(shù)中失效
這只是一個很小的細(xì)節(jié)問題,更詳細(xì)的內(nèi)容可以搜索《ATL布幔之下的秘密》。
手頭上的一個基類,有一個protected virtual 函數(shù)_init(),該函數(shù)在基類的構(gòu)造函數(shù)中被調(diào)用。我的意圖是子類如果有自己特殊的變量要初始化的話,只要重寫該虛函數(shù)就可以了。例如:
void
??Derive::_init()
{
Base::_init()
//
?other?work
}
希望像template method模式一樣工作。
問題是我忘記了這個細(xì)節(jié),結(jié)果程序陷入不確定的狀態(tài)。
隨后做了些簡單的驗(yàn)證,查看編譯出來的匯編代碼。
結(jié)論是:繼承體系中構(gòu)造函數(shù)的順序,是先基類后子類,同時在構(gòu)造函數(shù)中,先設(shè)置vftable指針,然后才執(zhí)行用戶代碼,因此基類中調(diào)用虛函數(shù),只能是基類的函數(shù)而已,匯編代碼大概是這樣子:
;?D::D()
call??Base::Base()
mov?vftable?
=
?
0x11111
endp
;Base::Base()
mov?vftable?
=
?
0x22222
call?_init
endp
析構(gòu)函數(shù)的順序,是先子類后基類,同構(gòu)造函數(shù)一樣,也是先設(shè)置vftable指針,然后才執(zhí)行用戶代碼,所以虛函數(shù)一樣失去作用。
posted on 2006-09-11 21:56
LOGOS
閱讀(728)
評論(1)
編輯
收藏
引用
FeedBack:
#
re: 虛函數(shù)在構(gòu)造函數(shù)與析構(gòu)函數(shù)中失效
2006-09-13 15:13
pdkui
虛函數(shù)在構(gòu)造和析構(gòu)的時候是沒作用,但析構(gòu)函數(shù)本身可以是虛函數(shù)。
回復(fù)
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 LOGOS Powered by:
博客園
模板提供:
滬江博客
人妻无码精品久久亚瑟影视
|
久久天天躁狠狠躁夜夜96流白浆
|
国产精品欧美久久久天天影视
|
国产国产成人精品久久
|
国产成人久久激情91
|
久久电影网
|
精品人妻伦九区久久AAA片69
|
精品久久久久久中文字幕人妻最新
|
国产精品久久久久久久久免费
|
久久久久亚洲精品无码网址
|
欧美伊人久久大香线蕉综合
|
av无码久久久久不卡免费网站
|
久久亚洲中文字幕精品一区四
|
亚洲国产精品无码久久一线
|
a级毛片无码兔费真人久久
|
深夜久久AAAAA级毛片免费看
|
午夜精品久久久久久99热
|
久久成人国产精品一区二区
|
久久99精品久久久久久久不卡
|
久久影院午夜理论片无码
|
亚洲欧美久久久久9999
|
久久人妻少妇嫩草AV无码专区
|
久久九色综合九色99伊人
|
国产精品女同久久久久电影院
|
777久久精品一区二区三区无码
|
狠狠色丁香婷婷久久综合
|
国产99久久九九精品无码
|
热re99久久精品国99热
|
国产精品久久久久蜜芽
|
开心久久婷婷综合中文字幕
|
99久久夜色精品国产网站
|
国产精品久久久久aaaa
|
精品久久人妻av中文字幕
|
热re99久久精品国99热
|
亚洲AV无码久久精品成人
|
综合久久给合久久狠狠狠97色
|
激情久久久久久久久久
|
久久成人18免费网站
|
色偷偷91久久综合噜噜噜噜
|
狠狠精品久久久无码中文字幕
|
avtt天堂网久久精品
|