轉(zhuǎn)載:
http://www.artima.com/cppsource/pure_virtual.htmlWhen you construct an instance of a derived class, what happens, exactly? If the class has a
vtbl, the process goes something like the following:
Step 1: Construct the top-level base part:.
- Make the instance point to the base class's vtbl.
- Construct the base class instance member variables.
- Execute the body of the base class constructor.
Step 2: Construct the derived part(s) (recursively):
- Make the instance point to the derived class's vtbl.
- Construct the derived class instance member variables.
- Execute the body of the derived class constructor.
Destruction happens in reverse order, something like this:
Step 1: Destruct the derived part:
- (The instance already points to the derived class's vtbl.)
- Execute the body of the derived class destructor.
- Destruct the derived class instance member variables.
Step 2: Destruct the base part(s) (recursively):
- Make the instance point to the base class's vtbl.
- Execute the body of the base class destructor.
- Destruct the base class instance member variables.
posted @
2010-08-16 18:57 Uniker 閱讀(1427) |
評(píng)論 (0) |
編輯 收藏
問(wèn)題描述:在編譯的時(shí)候出現(xiàn)__none_rtti_object異常
解決方法:
編譯器開(kāi)啟支持運(yùn)行時(shí)刻識(shí)別/GR,/GR(啟用運(yùn)行時(shí)類(lèi)型信息)
Vs2003 如何打開(kāi)C++的RTTI機(jī)制
說(shuō)明:此選項(xiàng) (/GR) 添加代碼以便在運(yùn)行時(shí)檢查對(duì)象類(lèi)型。當(dāng)指定此選項(xiàng)時(shí),編譯器定義 _CPPRTTI 預(yù)處理器宏。默認(rèn)情況下,此選項(xiàng)被清除 (/GR–)。
在 Visual Studio 開(kāi)發(fā)環(huán)境中設(shè)置此編譯器選項(xiàng)
1. 打開(kāi)此項(xiàng)目的“屬性頁(yè)”對(duì)話框。
2. 單擊“C/C++”文件夾。
3. 單擊“語(yǔ)言”屬性頁(yè)。
4. 修改“啟用運(yùn)行時(shí)類(lèi)型信息”屬性。
posted @
2010-06-21 14:45 Uniker 閱讀(1148) |
評(píng)論 (0) |
編輯 收藏
終于有了自己的技術(shù)博客了,以往寫(xiě)代碼的時(shí)候總是有一些問(wèn)題解決了就沒(méi)有記錄下來(lái),后來(lái)重新碰到此類(lèi)問(wèn)題又得重頭開(kāi)始解決,很是惱火。希望在以后的開(kāi)發(fā)中能夠?qū)⑺鶎W(xué)、所感能夠記錄于此。
同時(shí)希望能夠與大家同進(jìn)步