Aracılığıyla paylaş


İşlev düzeylerini belirtme

Uyarı

Microsoft Foundation Sınıfları (MFC) kitaplığına destek verilmeye devam ediliyor. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.

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. Sınıfınızı, CObject makalesinde açıklandığı gibi, öğ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. Sınıfınızın uygulama dosyasında (.CPP) IMPLEMENT_DYNAMIC makrosunu kullanın. 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)
    

Uyarı

IMPLEMENT_DYNAMIC direktifini sınıfınız için uygulama dosyasına (.CPP) her zaman yerleştirin. IMPLEMENT_DYNAMIC makrosu, derleme sırasında yalnızca bir kez değerlendirilmelidir ve bu nedenle, birden fazla dosyaya dahil edilebilecek bir arabirim dosyasında (.H dosyasında) kullanılmamalıdır.

Dinamik oluşturma desteği eklemek için

  1. Sınıfınızı CObject itibaren tü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ı CObject itibaren türetin.

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

    Uyarı

    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.

Uyarı

"Ç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ı CObject öğesinden türettiğinizde serileştirmeyi etkinleştirme hakkında daha fazla ayrıntı için MFC'deki Dosyalar ve Serileştirme makalelerine bakın.

Ayrıca bakınız

CObject'ten Sınıf Türetme