Udostępnij za pośrednictwem


Klasy wywodzące się z CObject

W tym artykule opisano minimalne kroki niezbędne do uzyskania klasy z CObject.Inne CObject klasy artykułów opisano kroki niezbędne dla zalet szczególnych CObject funkcje, takie jak serializacji i diagnostycznych obsługę debugowania.

W dyskusji z CObject, są często stosowane terminy "plik interfejsu" i "implementacji pliku".Plik interfejsu (często nazywane pliku nagłówka lub.Plik H) zawiera deklarację klasy i inne informacje potrzebne do użycia klasy.Plik implementacji (lub.Plik CPP) zawiera definicję klasy, jak również kod, który implementuje funkcje składowe klasy.Na przykład dla klasy o nazwie CPerson, zazwyczaj należy utworzyć plik interfejsu o nazwie osoba.H i wykonania pliku o nazwie osoba.CPP.Jednakże dla niektórych małych klas, które nie będą udostępniane między aplikacjami, czasami łatwiej jest łączenie interfejs i wdrożenia w jedną.Plik CPP.

Cztery poziomy funkcjonalności można wybierać podczas wynikające z klasy CObject:

  • Podstawowe funkcje: Obsługa klasy uruchomieniowej informacji lub serializacji zawierający zarządzania diagnostyki pamięci.

  • Podstawowe funkcje plus obsługa informacji klasy uruchomieniowej.

  • Podstawowe funkcje plus obsługa klasy uruchomieniowej informacji i tworzenie dynamicznych.

  • Podstawowe funkcje pomocy technicznej w czasie wykonywania oraz klasy informacji, tworzenia dynamicznych i serializacji.

Klasy przeznaczone do ponownego użycia (te, które później będzie służyć jako podstawowych klas) powinny obejmować co najmniej klasy uruchomieniowej obsługę i obsługę serializacji, jeśli jest przewidywana konieczność przyszłej serializacji.

Wybierz poziom funkcjonalności przy użyciu szczególnych deklaracji i wykonania makra w deklaracji i implementacji klasy pochodzić od CObject.

W poniższej tabeli przedstawiono zależność między makra, używane do obsługi serializacji i czasu informacji.

Używane do serializacji i informacje o wykonaniu makra

Makra używane

CObject::IsKindOf

CRuntimeClass::

Metoda CreateObject

CArchive::operator >>

CArchive::operator <<

Podstawowe CObject funkcje

Nr

Nr

Nr

DECLARE_DYNAMIC

Tak

Nr

Nr

DECLARE_DYNCREATE

Tak

Tak

Nr

DECLARE_SERIAL

Tak

Tak

Tak

Aby korzystać z podstawowych funkcji CObject

  • Umożliwia normalnej składni języka C++ pochodzić od klasy CObject (lub z klasy pochodzącej od CObject).

    W poniższym przykładzie pokazano najprostszym przypadku wyprowadzenie klasy z CObject:

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

Zazwyczaj jednak warto zastępowania niektórych CObjectw funkcji obsługi charakterystykę nowej klasy.Na przykład, zazwyczaj można zastąpić Dump funkcji CObject przewidzieć wyjściowe debugowania w treści klasy.Szczegółowe informacje dotyczące sposobu zastąpienia Dump, zobacz artykuł Diagnostics: zawartość obiektu dumpingu.Można także zastąpić AssertValid funkcji CObject zapewnienie testowanie dostosowanej do sprawdzania spójności danych członków klasy obiektów.Opis sposobu zastąpienia AssertValid, zobacz MFC ASSERT_VALID i CObject::AssertValid.

Artykuł Określając poziomy funkcjonalności w tym artykule opisano sposób określania innych poziomów funkcjonalności, w tym informacje o klasie run-time, tworzenie dynamicznych obiektów i serializacji.

Zobacz też

Koncepcje

Przy użyciu CObject