在 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 */ }
});
为什么人们通常不这样做?