0
我有兩個類,Abstract
和Base
。 Abstract
是Base
類的基礎。基類中的常量變量
class Abstract
{
public:
virtual ~Abstract();
const int aID;
protected:
// Constructor is protected because this class is abstract.
Abstract(int xID) :
aID(xID){}
};
#define BASE_CLASS_ID 0x0001
class Base : public Abstract
{
public:
Base() :
Abstract(BASE_CLASS_ID){} // change the ID
};
現在對於任何Derived
類這個基類,我想使用相同的ID BASE_CLASS_ID
。 我如何要求我的所有派生類使用此行爲?
您已經完成了! –
btw,派生將調用Base :: Base(),但不是Abstract :: Abstract() –
你能向我解釋一下嗎?我不認爲Derived會自動調用Base構造函數,還是這樣呢? – kir