Northern Ireland based Beckinridge specialises in Technology, IT, Sales and Management training for the ICT, Corporate, SME and Government Sectors.

  Public Courses
General Training

  On-Site Courses
Tailored Training

  ILM Qualifications
Level 4 & 5 Awards

Articles & Reviews

  Team Building
Activities & Events

  Why Choose Us?
Our Clients
Our Services
Quality and Expertise
Financial Support
Course Tailoring
Our Support Team
Talk To Us

Join Mailing List

 C++ Programming

  Course Code: GN-310  Duration: 5 Days 

This 5 day course covers the C++ language including recent features from the C++11 and C++14 updates. The course covers the C++ language without assuming a particular target environment although we can also offer modules on particular areas such as MFC or Linux programming if required. The course includes several standard projects and a large number of optional exercises. The outline below is an example, as we would vary the content depending on your prior experience.


 Course Outline


Getting Started

  • Writing, building and running a C++ Program.
  • Language structure.
  • The main function.
  • Basic stream and console input/output.
  • Declaring and Initializing variables.
  • Fundamental data types. Strings.

Structured Programming

  • Control flow, loops and conditions.
  • The for loop.
  • Do and while. If and else.
  • The conditional expression.
  • Functions and argument passing.
  • Argument passing by value and reference.
  • Predeclarations and prototypes.
  • Using header files.
  • The switch statement.
  • Variable scope - local, static, global.
  • Variable lifetimes.
  • Using namespaces.
  • Memory management.
  • Casting and cast types.

Object Orientation

  • What is object orientation?
  • Defining classes and creating objects.
  • Classes vs data structures.
  • Object oriented design concepts.

Using Objects

  • Encapsulation and data hiding.
  • Constructors and destructors.
  • Default constructors and initialization.
  • Class definition and implementation.
  • Inheritance and polymorphism.
  • Overriding.
  • Constructing applications using objects.
  • Class examples.
  • Practical polymorphism.
  • Virtual functions.
  • Abstract base classes.
  • Run time type information and dynamic_cast.
  • Constant and static members.
  • Using 'this'.
  • Calling the base class constructor explicitly.
  • Friends.
  • Multiple inheritance and virtual base classes.

Dynamic Objects

  • Pointers and the use of new and delete.
  • Arrays and collections.
  • Safe use of pointers.
  • Pointers and references.
  • Range-based for loop - 'for each'.

Operator Overloading

  • Defining an operator function.
  • Some rules.
  • Mixing types.
  • Implementing a postfix operator.
  • Type conversion operators.
  • Copy constructors and the assignment operator.
  • Function objects and functors.
  • Indexers.


  • The I/O stream library.
  • Inserters and extractors.
  • Error handling.
  • Using exceptions.
  • Using I/O streams with files.
  • Flags and manipulators.
  • Formatting.


  • Function templates.
  • Type safety.
  • Using multiple parameter types.
  • Class templates.
  • Using template classes.
  • Using constants.

Smart Pointers

  • What is a smart pointer?
  • Smart pointers vs conventional pointers.
  • Shared pointers.
  • Unique pointers.
  • Weak pointers.
  • dynamic_pointer_cast.
  • Alternatives outside the standard library.

The Standard Template Library

  • Collection classes.
  • Vector.
  • Reserving capacity.
  • Iterators.
  • Using auto for complex types.
  • Stream iterators.
  • Algorithms.
  • Predicates.
  • Using member functions in algorithms.
  • Sorting.
  • Collection types.
  • Sets, maps and find.
  • Threads and multitasking.

Exception Handling

  • Overview of exception handling.
  • Using traditional exception handling.
  • Using the Standard Library exception class.
  • Throwing and catching.
  • bad_alloc.
  • Overloading new and delete.

Additional and Historic Features

  • Lambdas.
  • Structs, unions and typedef.
  • More about main.
  • Logical and bitwise operators.
  • Conditional compilation and the pre-processor.
  • Compatibility with C.
  • More streams.
  • Ancient features you may still meet.

© Beckinridge Ltd.

Privacy Policy | Quality Policy

Site by redrhino

Beckinridge specialises in Technology, IT, Sales and Management training for the ICT, Corporate, SME and Government Sectors in Northern Ireland.
Privacy Policy | Capability, Improvement, Through Training & Development