Course

Modern C++ programming («CPROGR»)

C++ has changed a lot in recent years and has become much more powerful. New language features allow an easier and therefore safer development. These advantages are used more and more in the embedded environment. Get fit with this training!
Duration 4 days
Price 3'200.–
Course documents Digicomp courseware

Course facts

Key Learnings
  • Using class libraries in your programs
  • Understanding and using scopes and namespaces
  • Using the string class to handle character strings
  • Defining classes with their attributes and methods
  • Understanding classes as a tool for information hiding
  • Implementing and inserting constructors
  • Modularizing codes in a practical way
  • Defining a class hierarchy
  • Knowing the different visibility of class elements in relation to derivation
  • Using the operators new and delete
  • Creating a program with dynamic memory management
  • Knowing the advantages of smart pointers
  • Understanding unique_ptr and shared_pr
  • Defining virtual methods for dynamic binding
  • Defining interfaces with purely virtual functions and abstract classes
  • Accessing files with streams
  • Acquiring a basic understanding of templates
  • Applying the containers vector, deque, list, set map, unordered_set correctly
  • Searching and sorting data efficiently with STL algorithms
  • Understanding the functionality of error handling with exceptions
Content

The course consists of the following modules. The weighting and selection of the modules is adapted to the knowledge and preferences of the participants.

1 Basic features

  • Namespace
  • References
  • Overloading functions

2 Important standard classes

  • Use of streams
  • String
  • Vector

3 Classes

  • Class definition and instantiation
  • Attributes (data elements)
  • Accessing class elements
  • Methods (element functions)
  • Information hiding
  • Constructor

4 Modules and interfaces

  • Declaration and definition
  • Inline functions
  • Static class elements

5 Class derivation, inheritance

  • Inheritance and visibility of elements
  • Initialization of base classes
  • Inheritance and polymorphism

6 Dynamic memory management

  • New operator
  • Delete operator
  • Using Dynamic Instances

7 Normal form for classes

  • Copy constructor
  • Deep copy
  • Prevent copying
  • Destructor
  • Assignment operator
  • Move, Rvalue references

8 Smart pointer

  • Unique_ptr
  • Shared_ptr

9 Virtual methods

  • Static binding
  • Dynamic binding
  • Virtual methods
  • Abstract classes

10 Input and output to files

11 Templates

  • Define templates
  • Applying templates
  • Function templates

12 The Standard Template Library (STL)

13 Container

  • Vector, deque
  • List
  • Set
  • Map

14 Functions and function objects

  • Lambda expression
  • Predicate, equality and equivalence

15 Algorithms

16 Exceptions

  • Throw / try / catch
  • Exception hierarchies
Target audience

C/C++ programmers who want to develop object-oriented C++ programs. Project managers in the C++ environment who want to use C++ productively and efficiently.

Requirements

You must at least know the basics of the languages C or C++. We recommend basic knowledge of object-oriented programming according to the following courses:

    Basics of the Languages C and C++ («CPG»)

    3 days
    • Geneva, Lausanne
    CHF
    2'200.–

Download

Questions

Any questions?
First name
Last name
Company optional
Email
Phone
I would like to book this course as a company course
First name
Last name
Company optional
Email
Phone
Number of participants
Desired course location
Start date (DD.MM.YYYY)
End date (DD.MM.YYYY)

Choose your date

7
Apr
2025
10
Apr
2025
Geneva
French
Timetable
CHF 3’200.-
exkl. 8.1% Mwst.
CHF 3’200.-
exkl. 8.1% Mwst.
19
May
2025
22
May
2025
Lausanne
French
Timetable
CHF 3’200.-
exkl. 8.1% Mwst.
CHF 3’200.-
exkl. 8.1% Mwst.
30
Jun
2025
3
Jul
2025
Geneva
French
Timetable
CHF 3’200.-
exkl. 8.1% Mwst.
CHF 3’200.-
exkl. 8.1% Mwst.
11
Aug
2025
14
Aug
2025
Lausanne
French
Timetable
CHF 3’200.-
exkl. 8.1% Mwst.
CHF 3’200.-
exkl. 8.1% Mwst.
22
Sep
2025
25
Sep
2025
Geneva
French
Timetable
CHF 3’200.-
exkl. 8.1% Mwst.
CHF 3’200.-
exkl. 8.1% Mwst.
3
Nov
2025
6
Nov
2025
Lausanne
French
Timetable
CHF 3’200.-
exkl. 8.1% Mwst.
CHF 3’200.-
exkl. 8.1% Mwst.
15
Dec
2025
18
Dec
2025
Geneva
French
Timetable
CHF 3’200.-
exkl. 8.1% Mwst.
CHF 3’200.-
exkl. 8.1% Mwst.
Next date
7
Apr
2025
10
Apr
2025
Geneva
French
Timetable
CHF 3’200.-
exkl. 8.1% Mwst.
CHF 3’200.-
exkl. 8.1% Mwst.