advanced C++ programming

This course covers advanced object oriented techniques and algorithms development with C++. It is an extremely practical course, developed and taught by consultants with many years' experience in OO design. When taught at your site, this modular course can be adapted to your situation and requirements. Included in the course are numerous examples and exercises, and comes with a reference text. After the course, we are able to offer reviews and mentoring to guide you in making the best use of the techniques.

Duration: 4 days


  • cover in depth design and development issues of C++ programming inheritance and polymorphism
  • practice virtual and late binding
  • understand the finer points of dynamic allocation and pointers
  • .

target audience

The course is suitable for C++ developers.


Ideally this training should be preceded by the course: design and develop C++ applications.

Derived and base classes

  • specifying the derived class
  • accessing base class members
  • protected access specifier
  • derived class constructors


  • overriding member functions
  • which function is used?
  • scope resolution with overridden functions


  • abetting inheritance
  • class hierarchies
  • abstract base class
  • constructors and member functions
  • public and private inheritance
  • access combinations
  • classes and structures
  • access specifiers
  • levels of inheritance

Multiple inheritance

  • member functions in multiple inheritance
  • constructors in multiple inheritance
  • ambiguity in multiple inheritance
  • containership: classes within classes
  • inheritance and program development


  • review of addresses and pointers
  • operator addresses
  • pointer variables
  • accessing the variable pointed to
  • pointer to void
  • pointer constants and variables
  • pointers and functions
  • passing simple variables

Pointers to arrays and strings

  • passing arrays
  • sorting array elements
  • pointers and strings
  • pointers to string constants
  • strings as function arguments
  • copying a string using pointers
  • library string functions
  • arrays of pointers to strings

Pointers to objects

  • memory management
  • new and delete
  • a string class using new
  • pointers to objects
  • referring to members

Virtual and friend functions

  • normal member functions
  • virtual member functions
  • late binding, pure virtual functions
  • abstract classes
  • virtual base classes
  • friends as bridges
  • assignment and copy initialization
  • overloading the assignment operator
  • copy constructor
  • the this pointer
  • using this for returning values

Please note, when taught at your site, this course is customizable. Modules can be adapted, removed, added from other courses, or even created.


Day 1

  • Derived and base classes
  • Overriding

Day 2

  • Inheritance
  • Multiple inheritance

Day 3

  • Pointers
  • Pointers to arrays and strings

Day 4

  • Pointers to objects
  • Virtual and friend functions

course instructor

It is presented by one of our senior consultants, each of whom has at least ten years' experience in object oriented software development, and at least three years' experience as a trainer and consultant in a diverse range of application areas.

print     printer-friendly version