C++ Intermediate

This course is designed as a follow on from the C++ 3-day Introduction course. It is only open to delegates who have completed that course and preferably used the knowledge gained from it for several months. At the end of this course, delegates will be able to develop complex object-oriented C++ console programs. The course will also cover efficient C++ programming.

 

Format: 2 Days

Max Capacity 6

Wireless Computer Accessories
Tools Screen.png

Course Content

Class Hierarchies & Inheritance

  • Chapter objectives

  • Inheritance review

  • Deriving classes

  • Public private and protected inheritance

  • Member function access in derived classes

  • Protected access

  • Member access rights

  • Base class initialisation

  • Class scoping issues

  • Multiple inheritance

  • Constructors & destructors in multiple inheritance

  • Multiple inheritance from a common base class

  • Inheritance guidelines

 

Polymorphism

  • Polymorphism - review

  • Virtual functions

  • Virtual destructors

  • Pure virtual functions

  • Abstract base classes

  • Polymorphism guidelines

 

Advanced Casting Operators

  • Casting - review

  • Advanced casting operators

  • Statis_cast

  • Dynamic_cast

  • Const_cast

  • Reinterpret_cast

  • The mutable keyword

  • The typeid (C++11) operator

 

Exception Handling

  • Chapter objectives

  • Exceptions

  • Exceptions during Object construction

  • Exception function throw lists

  • Assertions

  • Static_asset C++11

  • Error handling methodologies

  • Windbg overview

  • Overview of debuggers

  • Windbg

  • PDB files

  • Windbg features

  • Asset macros


Standard Template Library

  • STL- overview

  • Strings

  • Vectors

  • Queues

  • Stacks

  • Lists

  • Maps

  • Iterators

  • STL algorithms

  • Which STL container

  • STL conclusion

 

Templates

  • Template functions

  • Template classes

  • Creating templates

  • Friends and templates