--- description: "Learn more about: Using CObject" title: "Using CObject" ms.date: "11/04/2016" helpviewer_keywords: ["examples [MFC], CObject", "root base class for MFC", "derived classes [MFC], from CObject", "MFC, base class", "CObject class [MFC]"] ms.assetid: d0cd19bb-2856-4b41-abbc-620fd64cb223 --- # Using CObject [CObject](../mfc/reference/cobject-class.md) is the root base class for most of the Microsoft Foundation Class Library (MFC). The `CObject` class contains many useful features that you may want to incorporate into your own program objects, including serialization support, run-time class information, and object diagnostic output. If you derive your class from `CObject`, your class can exploit these `CObject` features. ## What do you want to do - [Derive a class from CObject](../mfc/deriving-a-class-from-cobject.md) - [Add support for run-time class information, dynamic creation, and serialization to my derived class](../mfc/specifying-levels-of-functionality.md) - [Access run-time class information](../mfc/accessing-run-time-class-information.md) - [Create objects dynamically](../mfc/dynamic-object-creation.md) - [Dump the object's data for diagnostic purposes](/previous-versions/visualstudio/visual-studio-2010/sc15kz85(v=vs.100)) - Validate the object's internal state (see [MFC ASSERT_VALID and CObject::AssertValid](reference/diagnostic-services.md#assert_valid)) - [Have the class serialize itself to persistent storage](../mfc/serialization-in-mfc.md) - See a list of [CObject Frequently Asked Questions](../mfc/cobject-class-frequently-asked-questions.md) ## See also [Concepts](../mfc/mfc-concepts.md)
[General MFC Topics](../mfc/general-mfc-topics.md)
[CRuntimeClass Structure](../mfc/reference/cruntimeclass-structure.md)
[Files](../mfc/files-in-mfc.md)
[Serialization](../mfc/serialization-in-mfc.md)