The first of the four major characteristics of an object-oriented program is Abstraction.
Abstraction is the definition of an abstract data type, which includes the data type's representation and behavior.
An abstract data type is a new type (not intrinsic to C or C++).
It is not one of the primitive data types that are built into the programming language (such as int, long, and float).