0488 [´・ω・`] ppp0950.va-east.my-users.ne.jp
2006/01/21(土) 07:09:39ID:ptVVefk/0【板名*】PC等->プログラム
【スレ名*】C++相談室 part46
【スレのURL*】
http://pc8.2ch.net/test/read.cgi/tech/1136690107/l5
【名前欄】
【メール欄】
【本文*】↓
vtbl内における、各仮想関数ポインタのオフセット位置を得たいのですが、どのように書けばいいのでしょうか?
class X
{
public:
virtual void func1() {};
virtual void func2() {};
virtual void func3() {};
};
のような場合、func1()について0、func2()について4(32ビットシステムの場合)、func3()について8が得られる書き方ですが・・・
あと、インスタンスのVtblのアドレスを得るにはどうしたらよいのでしょうか?
X x;
printf("%X\n", *(void **)&x);
こんな書き方しかないのでしょうか?