Aracılığıyla paylaş


İşlevsellik Düzeylerini Belirtme

Bu makalede, CObject türetilmiş sınıfınıza aşağıdaki işlevsellik düzeylerinin nasıl ekleneceği açıklanmaktadır:

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

  • Dinamik oluşturma desteği

  • Serileştirme desteği

İşlevlerin CObject genel açıklaması için CObject'ten Sınıf Türetme makalesine bakın.

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

  1. CObject'ten CObject Sınıf Türetme makalesinde açıklandığı gibi sınıfınızı öğesinden türetin.

  2. Burada gösterildiği gibi sınıf bildiriminizde DECLARE_DYNAMIC makroyu kullanın:

    class CPerson : public CObject
    {
       DECLARE_DYNAMIC(CPerson)
    
       // other declarations
    };
    
  3. Uygulama dosyasında ( IMPLEMENT_DYNAMIC makroyu kullanın. CPP) öğesini seçin. Bu makro, aşağıdaki gibi sınıfın adını ve temel sınıfını bağımsız değişken olarak alır:

    IMPLEMENT_DYNAMIC(CPerson, CObject)
    

Dekont

IMPLEMENT_DYNAMIC her zaman uygulama dosyasına (. CPP) öğesini seçin. IMPLEMENT_DYNAMIC makro derleme sırasında yalnızca bir kez değerlendirilmelidir ve bu nedenle arabirim dosyasında ( kullanılmamalıdır. H) birden fazla dosyaya dahil edilebilir.

Dinamik oluşturma desteği eklemek için

  1. sınıfınızı öğesinden CObjecttüretin.

  2. Sınıf bildiriminde DECLARE_DYNCREATE makroyu kullanın.

  3. Bağımsız değişken içermeyen bir oluşturucu (varsayılan oluşturucu) tanımlayın.

  4. Sınıf uygulama dosyasında IMPLEMENT_DYNCREATE makroyu kullanın.

Serileştirme desteği eklemek için

  1. sınıfınızı öğesinden CObjecttüretin.

  2. Serialize Üye işlevini geçersiz kılın.

    Dekont

    Doğrudan çağırırsanız Serialize , yani çok biçimli bir işaretçi aracılığıyla nesneyi seri hale getirmek istemezsiniz, 3 ile 5 arasındaki adımları atlarsınız.

  3. Sınıf bildiriminde DECLARE_SERIAL makroyu kullanın.

  4. Bağımsız değişken içermeyen bir oluşturucu (varsayılan oluşturucu) tanımlayın.

  5. Sınıf uygulama dosyasında IMPLEMENT_SERIAL makroyu kullanın.

Dekont

"Çok biçimli işaretçi", bir sınıfın nesnesini (A olarak adlandırılır) veya A'dan türetilen herhangi bir sınıfın nesnesini (örneğin, B) gösterir. Çok biçimli bir işaretçi aracılığıyla seri hale getirmek için çerçevenin, bazı temel sınıftan (A) türetilen herhangi bir sınıfın nesnesi olabileceğinden, seri hale getirmekte olduğu nesnenin (B) çalışma zamanı sınıfını belirlemesi gerekir.

sınıfınızı öğesinden CObjecttüretdiğinizde serileştirmeyi etkinleştirme hakkında daha fazla ayrıntı için MFC ve Serileştirme'deki dosyalar makalelerine bakın.

Ayrıca bkz.

CObject'ten Sınıf Türetme