CObject Class

The principal base class for the Microsoft Foundation Class Library.

class AFX_NOVTABLE CObject

Members

Protected Constructors

Name

Description

CObject::CObject

Default constructor.

Public Methods

Name

Description

CObject::AssertValid

Validates this object's integrity.

CObject::Dump

Produces a diagnostic dump of this object.

CObject::GetRuntimeClass

Returns the CRuntimeClass structure corresponding to this object's class.

CObject::IsKindOf

Tests this object's relationship to a given class.

CObject::IsSerializable

Tests to see whether this object can be serialized.

CObject::Serialize

Loads or stores an object from/to an archive.

Public Operators

Name

Description

CObject::operator delete

Special delete operator.

CObject::operator new

Special new operator.

Remarks

It serves as the root not only for library classes such as CFile and CObList, but also for the classes that you write. CObject provides basic services, including

  • Serialization support

  • Run-time class information

  • Object diagnostic output

  • Compatibility with collection classes

Note that CObject does not support multiple inheritance. Your derived classes can have only one CObject base class, and that CObject must be leftmost in the hierarchy. It is permissible, however, to have structures and non-CObject-derived classes in right-hand multiple-inheritance branches.

You will realize major benefits from CObject derivation if you use some of the optional macros in your class implementation and declarations.

The first-level macros, DECLARE_DYNAMIC and IMPLEMENT_DYNAMIC, permit run-time access to the class name and its position in the hierarchy. This, in turn, allows meaningful diagnostic dumping.

The second-level macros, DECLARE_SERIAL and IMPLEMENT_SERIAL, include all the functionality of the first-level macros, and they enable an object to be "serialized" to and from an "archive."

For information about deriving Microsoft Foundation classes and C++ classes in general and using CObject, see Using CObject and Serialization.

Inheritance Hierarchy

CObject

Requirements

Header: afx.h

See Also

Reference

Hierarchy Chart