C++虛擬函式bug
點選(此處)摺疊或開啟
-
class Base{
-
private:
-
virtual void f() { cout<<\"Base::f\"<<endl; }
-
virtual void g() { cout<<\"Base::g\"<<endl; }
-
};
-
-
class DeriveChild:public Base{
-
-
};
-
typedef void (*Fun)(void);
-
void main()
-
{
-
DeriveChild d;
-
Fun pFun=(Fun)*((int*)*(int*)(int*)(&d)+0);
-
pFun();
-
pFun=(Fun)*((int*)*(int*)(int*)(&d)+1);
-
pFun();
- }
點選(此處)摺疊或開啟
-
class B
-
{
-
public:
-
virtual void fun()
-
{
-
cout<<\"Base fun called\"<<endl;
-
}
-
};
-
-
class D:public B
-
{
-
private:
-
virtual void fun()
-
{
-
cout<<\"driver fun called\"<<endl;
-
}
-
};
-
void main()
-
{
-
B *p=new D();
-
p->fun();
- }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29012686/viewspace-1131003/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- c++虛擬函式表C++函式
- 【C++筆記】虛擬函式(從虛擬函式表來解析)C++筆記函式
- 【C++筆記】虛擬函式(從虛擬函式概念來解析)C++筆記函式
- C++ 介面(純虛擬函式)C++函式
- C++ 虛擬函式表解析C++函式
- 虛擬函式,虛擬函式表函式
- 虛擬函式 純虛擬函式函式
- C++多型之虛擬函式C++多型函式
- 深入C++成員函式及虛擬函式表C++函式
- C++虛擬函式學習總結C++函式
- 介面、虛擬函式、純虛擬函式、抽象類函式抽象
- C++之類解構函式為什麼是虛擬函式C++函式
- C++純虛擬函式簡介及區別C++函式
- c++虛擬函式實現計算表示式子C++函式
- [Lang] 虛擬函式函式
- C++ 派生類函式過載與虛擬函式繼承詳解C++函式繼承
- C++建構函式和解構函式呼叫虛擬函式時使用靜態聯編C++函式
- 詳解C++中的多型和虛擬函式C++多型函式
- 虛擬函式表-C++多型的實現原理函式C++多型
- C++物件導向總結——虛指標與虛擬函式表C++物件指標函式
- C++(虛擬函式實現多型基本原理)C++函式多型
- 虛擬函式與多型函式多型
- 虛擬函式的呼叫原理函式
- 虛擬函式的實現原理函式
- 深度解讀《深度探索C++物件模型》之C++虛擬函式實現分析(二)C++物件模型函式
- 深度解讀《深度探索C++物件模型》之C++虛擬函式實現分析(一)C++物件模型函式
- 深度解讀《深度探索C++物件模型》之C++虛擬函式實現分析(三)C++物件模型函式
- C++單繼承、多繼承情況下的虛擬函式表分析C++繼承函式
- 抽象基類和純虛擬函式抽象函式
- 內聯(inline)函式與虛擬函式(virtual)的討論inline函式
- <<從0到1學C++>> 第7篇 多型性和虛擬函式C++多型函式
- C++ 虛解構函式簡單測試C++函式
- 基類指標、虛純虛擬函式、多型性、虛析構指標函式多型
- 虛擬函式的記憶體佈局(上)函式記憶體
- 關於虛擬函式的一些理解函式
- Java常見知識點彙總(④)——虛擬函式、抽象函式、抽象類、介面Java函式抽象
- C++函式C++函式
- setV:一個管理 Python 虛擬環境的 Bash 函式Python函式
- MySQL 對window函式執行sum函式疑似BugMySql函式