在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 */ }
});
人们为什么通常不这样做?
最佳答案
我认为匿名类会出现三个问题