Aracılığıyla paylaş


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

Ayrıca bkz.

Başvuru

DECLARE_DYNCREATE

RUNTIME_CLASS

CObject::IsKindOf

Kavramlar

mfc makrolar ve Globals