Aracılığıyla paylaş


İşlev düzeylerini belirleme

Bu makalede aşağıdaki işlevsellik düzeylerini ekleme, CObject-türetilmiş sınıf:

  • Çalışma zamanı sınıfı bilgileri

  • Dinamik oluşturma desteği

  • Seri hale getirme desteği

Genel bir açıklaması için CObject işlevsellik makalesine bakın CObject sınıfından türeyen.

Çalışma zamanı sınıfı bilgileri eklemek için

  1. Kendi sınıfından türeyen CObject, açıklandığı gibi CObject sınıfından türeyen makale.

  2. Use DECLARE_DYNAMIC makroda, aþaðýda gösterildiði gibi sınıf bildirimi:

    class CPerson : public CObject 
    {
       DECLARE_DYNAMIC( CPerson )
    
       // other declarations
    };
    
  3. Use IMPLEMENT_DYNAMIC makro uygulama dosyasındaki (.cpp) sınıfının. Bu makro sınıf ve onun temel sınıf adı gibi değişkenleri:

    IMPLEMENT_DYNAMIC( CPerson, CObject )
    

Not

Her zaman koymak IMPLEMENT_DYNAMIC uygulama dosyasında (.cpp) sınıfınız için.IMPLEMENT_DYNAMIC Makro derleme sırasında yalnızca bir kez değerlendirilmesi gerekir ve bu nedenle bir arabirim dosyasında kullanılmamalıdır (.h), büyük olasılıkla birden fazla dosyada bulunabilir.

Dinamik oluşturma desteği eklemek için

  1. Kendi sınıfından türeyen CObject.

  2. Use DECLARE_DYNCREATE Sınıf bildirimindeki makro.

  3. Yapıcısını argüman olmadan (varsayılan kurucu) tanımlayın.

  4. Use IMPLEMENT_DYNCREATE sınıf uygulama dosyasındaki makro.

Seri hale getirme desteği eklemek için

  1. Kendi sınıfından türeyen CObject.

  2. Geçersiz kılma Serialize üye işlevi.

    Not

    Çağırırsanız, Serialize doğrudan, yani istemediğiniz uymanız işaretçi üzerinden nesne seri hale getirmek 3 ile 5 arasındaki adımları atlayın.

  3. Use DECLARE_SERIAL Sınıf bildirimindeki makro.

  4. Yapıcısını argüman olmadan (varsayılan kurucu) tanımlayın.

  5. Use IMPLEMENT_SERIAL sınıf uygulama dosyasındaki makro.

Not

"Uymanız işaretçi" bir sınıf bir nesneye işaret eder (çağırın a) veya türetilmiş bir (say, b) herhangi bir sınıfın bir nesnesi.Framework uymanız işaretçiyi seri hale getirmek için bazı temel (a) sınıfından türetilen herhangi bir sınıfın bir nesnesi olabileceğinden, (b) seri hale nesnenin çalışma zamanı sınıfını belirlemeniz gerekir.

Seri hale getirme, kendi sınıfından türeyen etkinleştirme hakkında daha fazla ayrıntı için CObject, makalelere bakın mfc dosyalarında ve seri hale getirme.

Ayrıca bkz.

Kavramlar

CObject bir sınıf türetmek