1 つの基本クラスがあり、そこから 10 個の異なる具体的な派生クラスを派生させた場合、すべての具体的な派生クラスはそれぞれ異なる vtable を持ちますか?
1233 次
2 に答える
4
基本クラスまたはすべての派生クラスに仮想関数がある場合、通常はそうです。どうしてそれが重要ですか?
2つのクラスは、仮想関数の同一のセットがある場合にのみvtableを共有できます。したがって、派生クラスは、仮想関数をオーバーライドしない場合にのみ、vtableを基本クラスと共有できます。
派生クラスは、他の派生クラスとvtableを共有できません。ただし、両方が同じ基本クラスの関数をオーバーライドしない限り、同じ方法で実装されている場合でも、1つの派生クラスのメンバー関数は別の派生クラスのメンバー関数。
于 2009-08-02T12:03:26.950 に答える
0
派生クラスが仮想メソッドをオーバーライド/宣言するかどうかによって異なります。
于 2009-08-02T12:02:37.560 に答える