我最近接受了一個C/C++是主要語言的訪問,在一個問題中,我被告知可以使用vtable來確定層次結構中的哪個類一個基地指針實際存儲。如何使用vtable來確定班級類型
所以,如果,例如,你有
class A
{
public:
A() {}
virtual ~A() {}
virtual void method1() {}
};
class B : public A
{
public:
B() {}
virtual ~B() {}
virtual void method1() {}
};
和你實例A * pFoo = new B()
,是不是確實有可能使用虛函數表,以確定是否PFOO包含一個指向A或B的實例?
感謝您的回覆。我忘記提及我詢問RTTI是否是他們正在尋找的東西,他們說,一般來說,他們禁用RTTI,所以不是這樣。他們正在尋找的解決方案完全有可能是Martin B所描述的 – 2010-06-11 18:36:38