|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:
- Class names
- Class members
- Member functions
- Static data members
- Bit fields
- Nested class declarations
- Type names in class scope
The three class types are structure, class, and union. They are declared using the struct, class, and union keywords (see the class-key grammar in Defining Class Types). The following table shows the differences among the three class types.
|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|