我有一个基类,其中包含一个私有静态成员:
class Base
{
private static Base m_instance = new Base();
public static Base Instance
{
get { return m_instance; }
}
}
我希望从这个类派生多个类:
class DerivedA : Base {}
class DerivedB : Base {}
class DerivedC : Base {}
然而,此时调用DerivedA::Instance将返回与DerivedB::Instance和DerivedC::Instance完全相同的对象。我可以通过在派生类中声明实例来解决这个问题,但这样每个派生类都需要这样做,似乎是不必要的。那么有没有办法将所有这些放在基类中?是否可以应用一种设计模式?