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

  • 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

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

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.

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:

Download

Questions

Choose your date