IMPLEMENT_DYNCREATE
Nesneleri etkinleştirir CObject-türetilmiş sınıfları, çalışma zamanında dinamik olarak oluşturulan zaman birlikte kullanıldığında DECLARE_DYNCREATE makro.
IMPLEMENT_DYNCREATE(class_name, base_class_name )
Parametreler
class_name
Sınıf gerçek adýdýr.base_class_name
Temel sınıf gerçek adýdýr.
Notlar
Framework bu yeteneği, nesneyi diskten seri hale getirme sırasında okuduğunda yeni nesneler dinamik olarak, örneğin, oluşturmak için kullanır. Ekleme IMPLEMENT_DYNCREATE sınıf uygulama dosyasındaki makro. Daha fazla bilgi için bkz: CObject Class konular.
Kullanırsanız, DECLARE_DYNCREATE ve IMPLEMENT_DYNCREATE makrolar, sonra kullanabileceğiniz RUNTIME_CLASS makro ve CObject::IsKindOf zamanında nesneleri sınıfını belirlemek için üye işlevi.
DECLARE_DYNCREATE Sınıfı bildiriminde, sonra dahil IMPLEMENT_DYNCREATE class uygulaması dahil.
Not Bu makro tanımı kendi sınıfı için varsayılan kurucuyu harekete geçirecek. Önemsiz yapıcısı açıkça sınıfı tarafından uygulanan, varsayılan kurucu da açıkça uygulamalısınız. Sınıfa ait varsayılan kurucuyu eklenebilir özel veya Korunan karşı sınıf uygulaması dışında çağırılmasını önlemek için üye bölümleri.
Örnek
class CMyDynCreateObj : public CObject
{
int m_Num;
public:
DECLARE_DYNCREATE(CMyDynCreateObj)
CMyDynCreateObj(int Num) { m_Num = Num; }
private:
CMyDynCreateObj() { m_Num = 0; } // provide default constructor only for
// dynamic creation
};
IMPLEMENT_DYNCREATE(CMyDynCreateObj, CObject)
Gereksinimler
Başlık: afx.h