を再割り当てされています私はこのようなクラスがあるとします。は、仮想関数に法的
struct A{
virtual void someFunc() { }
};
は、それが基本的に関数ポインタを格納するため、これは可能かもしれない....別の関数に仮想関数を再割り当てすることが可能ですクラス内ではvirtual
になるようにします。
私はこのような何かことを実現:メンバ関数は、暗黙のパラメータとしてthis
ポインタを取るため
void aRandomFunc();
A mya;
mya.someFunc = &aRandomFunc;
はおそらく不可能です。
しかし、メンバー関数を別のメンバー関数に再割り当てすることはできますか?
なぜですか?これを可能にし、それが標準C++かどうか疑問に思うコンパイラを見つけましたか? – juanchopanza
@juanchopanzaちょっと好奇心...まだ実際にコードを書いていない – DarthRubik
"それは基本的にクラス内に関数ポインタを格納しています" - それほどではありません。 Vtable実装は関数ポインタのテーブルへのポインタを格納しますが、そのテーブルはそのクラスのすべてのオブジェクト間で共有されます。 – aschepler