C++ Programming

Contact Us for Dates
5 days practical workshop for up to 12 people.
Only £1975
This course is designed to teach ISO Standard C++ to programmers in other high-level languages. C++ is a general-purpose programming language that is widely used in areas as diverse as operating systems and games, typically where performance is critical. The course explores concepts and syntax through lectures, discussion and hands-on lab exercises.

Training Course Prerequisites

  • Delegates should have practical experience of programming in a high-level language. No knowledge of OO programming is assumed, but would be useful.

Chapters

Chapter 1 Introduction

  • What is C++?
  • Origins and history
  • Language features

Chapter 2 Introduction to OO Principles

  • Origins of OO
  • Characteristics of OO languages
  • Encapsulation and data hiding
  • Polymorphism
  • Inheritance
  • Interfaces

Chapter 3 Syntax Basics

  • Hello World!
  • Compiling and linking C++ code
  • Simple I/O
  • Keywords
  • Literals
  • Declaring variables
  • Operators
  • Decision statements
  • Loops
  • Commenting

Chapter 4 Functions

  • Declaring functions
  • Arguments and return values
  • Prototypes
  • Header files
  • Default and unused arguments
  • Scope and linkage
  • Function overloading
  • Extern "C"

Chapter 5 Arrays, References and Pointers

  • Arrays
  • Multidimensional arrays
  • Strings
  • Pointers
  • Pointer arithmetic
  • Pointers and functions
  • Pointers and arrays
  • Memory allocation with new and delete
  • Void pointers
  • References

Chapter 6 Enums, Structs and Unions

  • Creating and using enums
  • Creating structs
  • Dereferencing pointers
  • Accessing struct members
  • Typedef
  • Unions

Chapter 7 The Preprocessor

  • Including files
  • Defining constants
  • Defining and using macros
  • Conditional compilation
  • Header file guards
  • Standard macros and symbols
  • Other preprocessor directives

Chapter 8 Namespaces and Exceptions

  • Creating and using namespaces
  • Anonymous namespaces
  • Namespace aliases
  • What are exceptions?
  • Throwing and catching exceptions
  • Function try blocks
  • Throw specifications
  • Unhandled exceptions>

Chapter 9 Working with Classes

  • Creating classes
  • Defining class members
  • The 'this' pointer
  • Constructors and destructors
  • Initialization lists
  • Default and explicit constructors
  • Copy construction
  • Exceptions in construction and destruction
  • Inline functions
  • Static class members
  • The standard string class

Chapter 10 Operator Overloading

  • Why overload operators?
  • Overloading rules and best practices
  • Member and free operator functions
  • Overloading assignment
  • Overloading ++ and ?
  • Overloading [] and ()

Chapter 11 Inheritance

  • What is inheritance?
  • Proper inheritance relationships
  • Creating inheritance hierarchies
  • Accessing base class members
  • Base class initialization
  • Protected access
  • Virtual functions and polymorphism
  • Public, protected and private inheritance
  • Multiple inheritance
  • Interfaces

Chapter 12 Templates

  • Templates and generic programming
  • Template functions
  • Template classes
  • Template specialization
  • Non-type parameters

Chapter 13 I/O

  • C I/O
  • C++ stream classes
  • Using cin and cout
  • Handling errors
  • File I/O
  • Sequential and random File I/O
  • Overloading input and output operators

Chapter 14 The Standard Library

  • Content of the Standard Library
  • STL concepts
  • Containers
  • Iterators
  • Algorithms