#include <iostream>
using namespace std;
class Test
{
public:
void func()
{
cout << "test" << endl;
}
};
int main()
{
Test a;
a.func();
return 0;
}
这样一段很平常的代码,a.func()
调用了对象a
的成员函数func()
。
在C++的对象模型中,除了非静态成员变量以及虚函数指针会被放置在对象中,其余的比如成员函数等的信息都不会保存下来。访问对象的虚函数时我们可以通过vptr
指针访问virtual table
,virtual table
存放了指向虚函数的指针。
但是访问普通的成员函数时,并没有保存关于该成员函数的任何信息,也就是