仮想関数テーブル

ロベールのC++入門講座 07-09

仮想関数テーブルという内部実装の話。

ある仮想関数を呼ぼうとしたときに、実際にどの関数が呼ばれるのかという情報が書き込まれた表のこと。

クラスの隠しメンバ変数にその情報を持っているのでクラスのサイズが増える。

また仮想関数はコンストラクタで初期化され、デストラクタで破棄されるという。

だからコンストラクタやデストラクタでは仮想関数が有効にならなかったわけなんですね。理解できました。