Course C++ Programming

  • Content
  • Training
  • Modules
  • General
  • Reviews
  • Certificate
  • Course C++ Programming : Content

    In the course C++ Programming participants learn to program in the C++ language. In the course the latest version of the C++ standard is used.

    Differences C and C++

    First the differences between C and C++ are discussed concerning variable declarations, formatted output with the stream IO library, namespaces, function overloading and default function parameters.


    Subsequently the new C++ reference variables are discussed. Attention is paid to both Lvalue and Rvalue references.

    C++ Classes

    An important element of the course is the C++ class concept and C++ implementation of object-oriented principles such as abstraction and encapsulation. Attention is paid to dynamic memory allocation with new and delete and the role of assignment operators and copy and move constructors. Also special features of classes such as statics, friends and iterators are discussed.

    Inheritance and Polymorfisme

    Next the object-oriented principles of inheritance and polymorphism are part of the subject matter. This includes the concepts of virtual functions, v-tables, dynamic binding and abstract classes.

    Operator Overloading

    C++ has the option to give existing operators a different meaning and this phenomenon is discussed in the module operator overloading.

    Templates en Standard Template Library

    Attention is paid to important features of the standard C++ library like the String class and the base concepts of C++ templates and the Standard Template Library (STL).

    Exception Handling

    Finally exception handling and how this is implemented in C++ is addressed. A follow up course for the course C++ Programming is Advanced C++ Programming.

  • Course C++ Programming : Training

    Audience C++ Programming Course

    The course C++ Programming is intended for developers who want to learn programming in C++ and others who want to understand C++ code.

    Prerequisites Course C++ Programming

    Knowledge of and experience with C programming is required to attend this course.

    Realization Training C++ Programming

    The theory is treated on the basis of presentation slides and is interspersed with exercises. Illustrative demos are used to clarify the discussed concepts. The course material is in English.

    Certification C++ Programming

    Participants receive an official certificate C++ Programming after successful completion of the course.

    Course C++ Programming
  • Course C++ Programming : Modules

    Module 1 : Intro C++

    Module 2 : Variables and Types

    Module 3 : References

    Intro C++
    C++ TimeLine
    Comments in C++
    Namespace std
    Output and Error Stream
    Standard Input Stream
    cin and Strings
    Formatted Output
    Variable Declaration
    Scope Resolution Operator
    Inline Functions
    Default Function Arguments
    Overloading Functions
    Range based for loop
    Standard Types
    Type Inference
    Auto Keyword
    Deduction with decltype
    Null Pointer Constant
    Strongly Types Enums
    Variable Scope
    Using keyword and Directive
    Block Usage
    User Defined Literals
    Storage Classes
    const Qualifier
    Reference Initialization
    References and Pointers
    Rvalues and Rvalues in C
    Rvalues and Rvalues in C++
    Reference to Constant
    Passing References
    Comparison Parameter Passing
    References as Return Values
    Returning lvalue
    Returning Reference to Global
    Rvalue References
    Comparing Reference Types
    Rvalue Reference Usage

    Module 4 : Classes

    Module 5 : Dynamic Memory Allocation

    Module 6 : Inheritance

    Classes and Objects
    Classes in C++
    Class Declaration
    Class Sections
    Constructor and Destructor
    Uniform Initialization
    Header and Sources Files
    Class Implementation
    Advantages Access Functions
    References to private Data
    this Pointer
    static Members
    Constant Objects
    Member Objects
    new and delete Operators
    Dynamic Arrays
    Classes with Pointer Data
    Assignment Operator
    Self-Assignment Problem
    Chained Assignments
    Assignment and Initialization
    Copy Constructors
    Passing Objects
    Returning Objects
    Passing References to Objects
    Move Constructor
    Move Assignment Operator
    Perfect Forwarding
    Delegating Constructors
    Derived Classes in C++
    Class Hierarchy
    Redefining Member Functions
    Derived Class Constructors
    Base - Derived Class Conversion
    Pointer Conversions
    Virtual Functions
    Dynamic Binding
    Virtual Function Table
    Pure Virtual Functions
    Abstract Classes
    Multiple Inheritance
    Virtual Derivation

    Module 7 : Operator Overloading

    Module 8 : Exception Handling

    Module 9 : Templates

    Operator Overloading
    Overloading for Numeric Types
    Complex Type Example
    Overloading Rules
    Overloading Restrictions
    Not Overloadable Operators
    When not to Overload
    Numeric Class Overloading
    Operators as Friend
    Unary Overloading Operator
    Exception Handling in C++
    Memory Exhaustion Handling
    Throwing Exceptions
    try Block
    catch Handlers
    Multiple catch Handlers
    Template Array Class
    Exceptions Array Class
    catch Order
    throw List
    What are Templates?
    Template Functions
    Template Specialization
    Template Parameter List
    Class Templates
    Template Parameter Scope
    Template Function Statics
    Template Class Statics
    Inclusion Compilation Model
    Templates and Friends

    Module 10 : STL

    Standard Template Library
    STL Core Components
    STL Library Components
    STL Containers
    Vector Container
    Deque Container
    List Container
    STL Iterators
    STL Algorithms
    STL Allocators
  • Course C++ Programming : General

    Course Forms

    All our courses are classroom courses in which the students are guided through the material on the basis of an experienced trainer with in-depth material knowledge. Theory is always interspersed with exercises.


    We also do custom classes and then adjust the course content to your wishes. On request we will also discuss your practical cases.

    Course times

    The course times are from 9.30 to 16.30. But we are flexible in this. Sometimes people have to bring children to the daycare and other times are more convenient for them. In good consultation we can then agree on different course times.


    We take care of the computers on which the course can be held. The software required for the course has already been installed on these computers. You do not have to bring a laptop to participate in the course. If you prefer to work on your own laptop, you can take it with you if you wish. The required software is then installed at the start of the course.


    Our courses are generally given with Open Source software such as Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda and Netbeans. You will receive the digital course material to take home after the course.


    The course includes lunch that we use in a restaurant within walking distance of the course room.


    The courses are planned at various places in the country. A course takes place at a location if at least 3 people register for that location. If there are registrations for different locations, the course will take place at our main location, Houten which is just below Utrecht. A course at our main location also takes place with 2 registrations and regularly with 1 registration. And we also do courses at the customer’s location if they appreciate that.


    At the end of each course, participants are requested to evaluate the course in terms of course content, course material, trainer and location. The evaluation form can be found at https://www.klantenvertellen.nl/reviews/1039545/spiraltrain?lang=en. The evaluations of previous participants and previous courses can also be found there.


    The intellectual property rights of the published course content, also referred to as an information sheet, belong to SpiralTrain. It is not allowed to publish the course information, the information sheet, in written or digital form without the explicit permission of SpiralTrain. The course content is to be understood as the description of the course content in sentences as well as the division of the course into modules and topics in the modules.

  • Course C++ Programming : Reviews

  • Course C++ Programming : Certificate