Sdílet prostřednictvím


Odvození třídy z CObject

Tento článek popisuje minimální kroky nezbytné k odvození třídy z CObject.Ostatní CObject třídy články popisují kroky potřebné využívat zvláštní CObject funkce, jako je například serializace a diagnostické podporu pro ladění.

V diskusích o CObject, jsou často používají termíny "soubor rozhraní" a "provádění souboru".Soubor rozhraní (často se označuje jako soubor záhlaví nebo.H soubor) obsahuje deklaraci třídy a dalších informací potřebných pro použití třídy.Provádění souboru (nebo.Soubor CPP) obsahuje definici třídy, jakož i kód, který implementuje funkce členů třídy.Například pro třídu s názvem CPerson, obvykle vytvoříte soubor rozhraní s názvem osoby.H a provádění souboru s názvem osoby.CPP.Pro některé malé třídy, které nebudou sdíleny mezi aplikacemi, je však někdy jednodušší rozhraní a implementace do jednoho.Soubor CPP.

Můžete zvolit ze čtyř úrovní funkčnosti při odvození třídy z CObject:

  • Základní funkce: Podpora třídy spuštění informací nebo serializace ale zahrnuje správu diagnostiku paměti.

  • Podpora spuštění třídy informace plus základní funkce.

  • Podpora pro třídy spuštění informací a vytváření dynamických plus základní funkce.

  • Podpora pro spuštění plus základní funkce třídy informací, vytváření dynamických a serializace.

Třídy určené pro opakované použití (ty, které bude později sloužit jako základní třídy) měly by přinejmenším zahrnovat spuštění třídy podporu a podporu serializace, pokud je předpokládaný budoucí serializace třeba.

Zvolte úroveň funkčnosti pomocí zvláštní prohlášení a provádění makra v prohlášení a provádění odvozena od třídy CObject.

Následující tabulka zobrazuje vztah mezi pro podporu serializace a informace o spuštění makra.

Pro serializaci a informace o spuštění makra

Použít makro

CObject::IsKindOf

CRuntimeClass::

Metoda CreateObject

CArchive::operator >>

CArchive::operator <<

Základní CObject funkce

Ne

Ne

Ne

DECLARE_DYNAMIC

Ano

Ne

Ne

DECLARE_DYNCREATE

Ano

Ano

Ne

DECLARE_SERIAL

Ano

Ano

Ano

Použít základní funkce CObject

  • Použít normální syntaxe jazyka C++ k odvození třídy z CObject (nebo z třídy odvozené od CObject).

    Následující příklad ukazuje nejjednodušším případě odvození třídy z CObject:

    class CSimple : public CObject
    {
       // add CSimple-specific members and functions...
    };
    

Obvykle však můžete chtít přepsat některé CObject's členské funkce zpracování specifika nové třídy.Například obvykle chcete přepsat Dump funkce CObject výstupu ladění stanovit obsah vaší třídy.Podrobnosti o přepsání Dump, naleznete v článku Diagnostika: dumpingu obsah objektu.Můžete také změnit AssertValid funkce CObject poskytnout vlastní testování pro ověření konzistence dat členů třídy objektů.Popis jak přepsat AssertValid, viz MFC ASSERT_VALID a CObject::AssertValid.

V článku Určení úrovně funkčnosti popisuje, jak určit jiné úrovně funkčnosti, včetně informací o spuštění třídy, vytváření dynamických objektů a serializace.

Viz také

Koncepty

Pomocí CObject