The C++ programming language provides a model of memory and computation that closely matches that of
most computers. In addition, it provides powerful and flexible mechanisms for abstraction; that is, language
constructs that allow the programmer to introduce and use new types of objects that match the concepts
of an application. Thus, C++ supports styles of programming that rely on fairly direct manipulation
of hardware resources to deliver a high degree of efficiency plus higher-level styles of programming that
rely on user-defined types to provide a model of data and computation that is closer to a human’s view of
the task being performed by a computer. These higher-level styles of programming are often called data
abstraction, object-oriented programming, and generic programming.
most computers. In addition, it provides powerful and flexible mechanisms for abstraction; that is, language
constructs that allow the programmer to introduce and use new types of objects that match the concepts
of an application. Thus, C++ supports styles of programming that rely on fairly direct manipulation
of hardware resources to deliver a high degree of efficiency plus higher-level styles of programming that
rely on user-defined types to provide a model of data and computation that is closer to a human’s view of
the task being performed by a computer. These higher-level styles of programming are often called data
abstraction, object-oriented programming, and generic programming.





