Olsen Software Ltd.
Phone us +44 7989 401397
Email us info@olsensoft.com
home | training | services | content | code home > training > misc > cppoo Back to top
C++ Programming for OO Developers (4 days) print Download

course overview

This course is aimed at object-oriented developers (e.g. Java or C#) who need to get up to speed quickly in C++. The course covers the C++ programming constructs and techniques quickly, focussing on the differences between C++ and other OO languages.

what you'll learn


course details ShowHide

C++ Language Fundamentals

  • C++ statements
  • Code blocks
  • Primitive data types
  • Literals and variables
  • Converting data types
  • Operators
  • Decision making

Defining Classes

  • Syntax of class declarations
  • Public and private members
  • Creating objects

Implementing Class Functionality

  • Function overloading
  • Default arguments
  • Anonymous arguments
  • Ambiguities
  • Resolving scope conflicts
  • Using the this pointer

Defining Constructors and Destructors

  • Overview of an object's lifetime
  • Defining constructors
  • Constructor chaining
  • Defining destructors

Miscellaneous Language Features

  • Defining enumerations
  • Using the const keyword effectively
  • Defining inline member functions
  • Using reference variables

Composite Classes

  • Overview of composition
  • Defining composite classes
  • Constructing composite objects
  • Using member initialization lists

Associative Classes

  • Overview of delegation
  • Dynamic associations
  • Lifetime of associative objects
  • Constant associations

Operator Overloading

  • Overview of operator functions
  • Defining unary operators
  • Defining binary operators
  • Defining the [] operator
  • Defining input and output operators

Defining Class-Wide Members

  • Overview
  • Static data members
  • Static member functions
  • Nested types
  • Friend classes

Creating Collections of Objects

  • The need for collections
  • Introduction to template classes
  • Using vector and list
  • Using iterators
  • Introduction to template functions
  • Using the Standard Template Library

Copying and Conversions

  • The copy assignment operator
  • Copy constructors
  • Conversions to a class object
  • Conversions from a class object


  • Recap of inheritance principles
  • Defining a subclass
  • Defining protected members
  • Scoping and initialisation
  • Multiple inheritance
  • Abstract base classes


  • Recap of polymorphism
  • Defining virtual functions
  • Virtual destructors
  • Pure virtual functions and abstract classes