我在 C++ 中有两个类:
class Base
{
int baseField;
public:
Base();
~Base();
T BaseMethod();
virtual SomeMethod()=0;
};
class Derived : public Base
{
int derivedField;
public:
Derived()
~Derived();
T DerivedMethod();
virtual SomeMethod() {...}; // Some implementation
};
我的问题是它是如何在内存中表示的,即这个指针、vptr(vtable)字段和这个类的方法指针在哪里。好的,它依赖于编译器,但有一些不成文的标准。我对 Visual Studio 和 gcc 编译器最感兴趣。
[编辑:我放了一种虚拟方法来改进示例,之前没有任何虚拟方法]
有没有一些关于这个主题的书详细写