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
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