Classes, Structures, and Unions
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

Classes, Structures, and Unions

This section introduces C++ classes. Classes, which can contain data and functions, introduce user-defined types into a program. User-defined types in traditional programming languages are collections of data which, taken together, describe an object's attributes and state. Class types in C++ enable you to describe attributes and state, and to define behavior.

The following topics are included:

The three class types are structure, class, and union. They are declared using the struct, class, and union keywords (see Defining Class Types). The following table shows the differences among the three class types.

For information on managed classes and structs, see Classes and Structs.

Access Control and Constraints of Structures, Classes and Unions
Structures Classes Unions

class key is struct

class key is class

class key is union

Default access is public

Default access is private

Default access is public

No usage constraints

No usage constraints

Use only one member at a time

© 2016 Microsoft