Java では、テンプレート メソッド パターンを利用するために、次のように記述するのが一般的です (イベント処理など)。
abstract class SomeAbstractClass {
public abstract void SomeFunction ();
}
//...
SomeAbstractClass obj = new SomeAbstractClass () {
public void SomeFunction () { /* implementation */ }
};
C++ では、次のようにコンパイルされます。
class SomeAbstractClass {
virtual void SomeFunction () = 0;
};
// ...
SomeAbstractClass * obj = new ( class : public SomeAbstractClass {
virtual void SomeFunction () { /* implementation */ }
});
なぜ人々は通常これをしないのですか?