Bjarne Stroustrup of AT&T Bell Labs created C++ in the mid 1980s. C++ is an extension of the programming language C, a product of AT&T Bell Labs from the early 1970s. C was developed to write the Unix operating system, and C is widely used for systems-level software and embedded systems development.
C++ initially provided object-oriented programming features (see Chapter 13 and Chapter 14) and later added generic programming capabilities. C++ 's close relationship to C allows C++ programs to utilize a large collection of code developed in C.
C++ is widely used in industry for commercial software development. It is an industrial strength programming language used for developing complex systems in business, science, and engineering. Examples of software written in C++ include Microsoft Windows 8, Microsoft Office, macOS, and Adobe Creative Suite.
In order to meet the needs of commercial software development and accomplish all that it does, C++ itself is complex. While experienced programmers can accomplish great things with C++ , beginners sometimes have a difficult time with it. Professional software developers enjoy the flexible design options that C++ permits, but beginners need more structure and fewer options so they can master simpler concepts before moving on to more complex ones.
This book does not attempt to cover all the facets of the C++ programming language. Experienced programmers should look elsewhere for books that cover C++ in much more detail. The focus here is on introducing programming techniques and developing good habits. To that end, our approach avoids some of the more esoteric features of C++ and concentrates on the programming basics that transfer directly to other imperative programming languages such as Java, C#, and Python. We stick with the basics and explore more advanced features of C++ only when necessary to handle the problem at hand.
This open book is licensed under a Creative Commons License (CC BY). You can download Fundamentals of C++ Programming ebook for free in PDF format (12.8 MB).
Table of Contents
The Context of Software Development
Writing a C++ Program
Values and Variables
Expressions and Arithmetic
Other Conditional and Iterative Statements
Managing Functions and Data
Sorting and Searching
Standard C++ Classes
Fine Tuning Objects
Building some Useful Classes
Inheritance and Polymorphism
The Standard Template Library
Command Line Development