Close-up photograph of a portion of a pocket-watch movement

Introduction to C++

C++ grew out of the popular C programming language and, in many quarters, has become the language of choice in software construction. Compilers, interpreters, virtual machines, operating systems, and many applications are implemented in C++, and understanding of this language confers understanding of how other languages and platforms operate.

C++ is an accomplished mix of type-safety, power and brevity of expression; with run-time efficiency that can rival hand-coded assembler. The evolution of the language and its idioms means that modern C++ offers tantalising possibilities that are unavailable in other languages.

This three-day course is a comprehensive route to understanding and working with C++. Every aspect of the language is covered from essential concepts, through major aspects such as inheritance and polymorphism, to the power of templates, the STL and generic programming.

This course is hands-on and uses a single exercise-problem that is developed incrementally through the curriculum. This presents a consistent set of realistic and meaningful challenges, which allow delegates to understand and factor-in each new concept in a linear fashion, resulting in a complex and fully functional application.

Who Should Attend

This course is appropriate to C developers who wish to migrate upwards from C, or those who wish to migrate across from another language. The course is also aimed at developers with existing C++ experience, who wish to consolidate their understanding, and to expand their skills to encompass, contemporary C++ design and best practice. Basic experience of software development is assumed, but, while some knowledge of C is useful, no prior experience of C or C++ is essential.