Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe u de volgende functionaliteitsniveaus toevoegt aan uw CObject-afgeleide klasse:
Informatie over klasse tijdens runtime
Ondersteuning voor dynamische creatie
Ondersteuning voor serialisatie
Zie het artikel CObject voor een algemene beschrijving van de functionaliteit.
Runtime-klassegegevens toevoegen
Uw klas afleiden van
CObject, zoals beschreven in het artikel Een klasse afleiden uit CObject .Gebruik de DECLARE_DYNAMIC macro in uw klassedeclaratie, zoals hier wordt weergegeven:
class CPerson : public CObject { DECLARE_DYNAMIC(CPerson) // other declarations };Gebruik de macro IMPLEMENT_DYNAMIC in het implementatiebestand (. CPP) van uw klas. Deze macro gebruikt als argumenten de naam van de klasse en de basisklasse, als volgt:
IMPLEMENT_DYNAMIC(CPerson, CObject)
Opmerking
Plaats IMPLEMENT_DYNAMIC altijd in het implementatiebestand (. CPP) voor uw klas. De IMPLEMENT_DYNAMIC macro mag slechts eenmaal worden geëvalueerd tijdens een compilatie en mag daarom niet worden gebruikt in een interfacebestand (. H) die mogelijk kan worden opgenomen in meer dan één bestand.
Ondersteuning voor dynamische creatie toevoegen
Leid uw klasse af van
CObject.Gebruik de macro DECLARE_DYNCREATE in de klassedeclaratie.
Definieer een constructor zonder argumenten (een standaardconstructor).
Gebruik de macro IMPLEMENT_DYNCREATE in het implementatiebestand van de klasse.
Serialisatieondersteuning toevoegen
Leid uw klasse af van
CObject.Overschrijf de
Serialize-lidfunctie.Opmerking
Als u
Serializerechtstreeks aanroept, met andere woorden, als u het object niet via een polymorfe pointer wilt serialiseren, laat dan stap 3 tot en met 5 weg.Gebruik de DECLARE_SERIAL macro in de klassedeclaratie.
Definieer een constructor zonder argumenten (een standaardconstructor).
Gebruik de IMPLEMENT_SERIAL macro in het klasse-implementatiebestand.
Opmerking
Een 'polymorf aanwijzer' verwijst naar een object van een klasse (noem het A) of naar een object van een klasse die is afgeleid van A (bijvoorbeeld B). Als u wilt serialiseren via een polymorfe aanwijzer, moet het framework de runtimeklasse bepalen van het object dat het serialiseert (B), omdat het een object kan zijn van een klasse die is afgeleid van een bepaalde basisklasse (A).
Voor meer informatie over het inschakelen van CObject wanneer u uw klasse afleidt van , zie de artikelen Bestanden in MFC en CObject.