C++ の vtable とは何ですか [重複] 質問する

C++ の vtable とは何ですか [重複] 質問する

重複の可能性あり:
なぜ仮想テーブルが必要なのでしょうか?

C++ の vtable とは何ですか?

これまでのところ、vtable は仮想関数へのポインターの配列を持つ仮想テーブルであることがわかりました。実用的な実装の例を記載した記事はありますか? (ウォークスルーがあればありがたいです。)

ベストアンサー1

V テーブル (または仮想テーブル) は、ほとんどの C++ 実装でポリモーフィズムを実現する方法です。クラスの具体的な実装ごとに、すべての仮想メソッドへの関数ポインターのテーブルがあります。このテーブルへのポインター (仮想テーブルと呼ばれる) は、すべてのオブジェクトにデータ メンバーとして存在します。仮想メソッドを呼び出すと、オブジェクトの v テーブルが検索され、適切な派生クラス メソッドが呼び出されます。

おすすめ記事