Detailed description of how a software system or feature should work

Class intended primarily for inheritance.

Defining operators for custom types.

Collection of related software components.

Programming based on objects and classes.

Fully implemented class that can be instantiated.

Method supporting runtime overriding.

Reusable collection of software code.

An instance containing data and behavior.

Parent class from which another class inherits.