class A { public: A() { a = 1111; } virtual void f() { cout << "aF" << endl; } virtual void g() { cout << "gF" << endl; } virtual void h() { cout << "hF" << endl; } virtual void i() { cout << "iF" << endl; } public: int a; }; typedef void (A::*pfA)(); typedef void (*pf)(); int main(int argc, char *argv[]) { A obA; pfA *p; /*long *vtbl = (long*)&obA; p = (pfA*)vtbl[0]; (obA.*p[0])();*/ cout << sizeof(pf) << '\t' << sizeof(pfA) << endl; return 0; } #g++ -m32 test.cpp -o test #./test 4 8 Почему на функцию члензанимет 8 байт. Спасибо.