我有一個實現兩個其他抽象類的單例類。無法創建類實例
我的猴子:: getMonkey因爲thisMonkey = new monkey()
而失敗返回「抽象類類型的對象」猴子「是不允許的」。我知道你不能實例化抽象類,但是我的猴子實現了兩個抽象類(這意味着它不是抽象的..對吧?)
這是什麼解決方案?
class monkey : public animal,
public npc {
public:
~monkey();
static monkey* getMonkey();
private:
monkey();
static monkey* thisMonkey;
}
monkey::monkey() {};
monkey::~monkey() {};
/* .. implements the virtual methods of animal and npc ... */
monkey::getMonkey() {
if (!thisMonkey)
thisMonkey = new monkey();
return thisMonkey;
}