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++函式
- 虛擬函式,虛擬函式表函式
- 虛擬函式 純虛擬函式函式
- C++多型(上)——虛擬函式、虛表C++多型函式
- C++多型之虛擬函式C++多型函式
- C++中虛擬函式的作用C++函式
- C++虛擬函式解析(轉載)C++函式
- 深入C++成員函式及虛擬函式表C++函式
- C++箴言:避免解構函式呼叫虛擬函式C++箴言函式
- C++ 虛擬函式和虛繼承淺析C++函式繼承
- C++虛擬函式學習總結C++函式
- C++繼承二之虛擬函式C++繼承函式
- C++ 繼承、多型、虛擬函式C++繼承多型函式
- C++中的虛擬函式(virtual function)C++函式Function
- C++:純虛擬函式與抽象類C++函式抽象
- C++ Daily 《3》----建構函式可否是虛擬函式C++AI函式
- 介面、虛擬函式、純虛擬函式、抽象類函式抽象
- 虛擬函式函式
- C/C++—— C++中建構函式不能是虛擬函式的原因分析C++函式
- C++函式中那些不可以被宣告為虛擬函式的函式C++函式
- C++之類解構函式為什麼是虛擬函式C++函式
- C++純虛擬函式簡介及區別C++函式
- c++虛擬函式實現計算表示式子C++函式
- 【C++基礎】純虛擬函式 - pure virtual functionC++函式Function
- C++虛擬函式與多型實戰 (轉)C++函式多型
- 【虛擬函式】C++中虛擬函式的作用是什麼?它應該怎麼用呢?[轉]函式C++
- C++ 派生類函式過載與虛擬函式繼承詳解C++函式繼承
- C++建構函式和解構函式呼叫虛擬函式時使用靜態聯編C++函式