Lataa pdf-muodossa

C++ Advanced Programming

This is the course for experienced C++ programmers with a need to expand their skills into a complete knowledge of the language and new ways to use it for stable, effective and well designed applications. The course is fully updated to the C++11 and C++14 standards, and is platform and IDE independent. Course focus is on the language itself and the most widely used idioms. For a course on the Standard Library, see T1233 Applied Modern C++.

Several labs illustrate the theory. Among the lab themes are resource allocation, advanced operator overloading, smart pointers, function objects, interfaces and abstract classes, exception safety, move semantics and universal references.

The course in January will be held in English!

Target audience

Developers with a good working knowledge of everyday C++, as from any basic course plus practical experience.


Working knowledge of C++, as from T516 C++ Programming - Introduction plus practical experience


Training material

Course material in English.

Informator Training Cloud

Our training portal supports your development throughout the training. The portal saves you time and is designed to give you a more effective learning experience - leading to better results and greater knowledge enforcement after the course. Read more >


The rarely used parts of the language and when to draw benefit from them.
Design with interfaces, abstract classes and concrete classes.
Design with templates, policy objects and iterators.
Idioms for immediate use or for inspiration.
The new features of the language in C++11 and C++14.
An introduction to the Standard Library

Course Outline:

Module 1. Introduction

Module 2. Compiler Generated Member Functions

Default constructor
Copy constructor
Assignment operator
Single argument constructor
Resource allocating classes
Move semantics
Initializer list constructors

Module 3. Class Members

Nested types
Static members
Const members
Reference members
Enum as a member
Function pointers and method pointers

Module 4. Inheritance and Interfaces

Multiple inheritance
Object identity
Virtual calls from constructor/destructor
Abstract base classes

Module 5. Operator Overloading

Member or friend
Increment operator
Index operator
Type converters

Module 6. Preprocessor Directives

Include guard
Conditional compilation
String operator
Catenation operator

Module 7. Templates

Type polymorfism
Function templates
Class templates
Type and value parameters
Templates and inheritance

Module 8. Exceptions

Exception classes
Exception declarations

Module 9. Namespaces

Nested namespaces
Using and namespaces

Module 10. Safe Bool Idiom

Classical Solutions
Safe Bool
The C++11 Solution

Module 11. Copy-Swap

Exception Safatey
Copy-Swap for Assignment
Copy-Swap for General Use

Module 12. Function Objects

The function call operator
Function pointer callback
Lambda expressions
The function standard class
Policy objects
Event objects

Module 13. Universal References

Overloading on lvalue/rvalue
Creating a Universal Reference
Perfect Forwarding

Module 14. Smart Pointers and Iterators

Smart Pointers ownership
Schemes for ownership transfer
The Standard Library Iterators

Module 15. Standard Library Containers

Overview collections and algorithms
Templated collections in more detail
The string class
Assessing time and time complexity

Module 16. Miscellaneous Standard Classes (optional)

Streams library
Thread and synchronization classes
Random numbers
Regular expressions

"Läraren förklarade många komplicerade saker på ett sådant vis att det blev jättelätt att förstå principen och inte enbart hur de används. Bästa programmeringsläraren jag haft!" 
/ en nöjd deltagare 12/10-2015
Citat från tidigare deltagare

Ota yhteyttä



010 4321 001 Ota yhteyttä

Kesto: 4 päivää
Veroton hinta (+ alv 24 %): 3 301 €

Tästä asiakaskohtainen toteutus?

Toteutamme koulutuksia myös asiakaskohtaisina. Jätä yhteystietosi, ja tehdään juuri teille sopiva toteutus.

Voit maksaa:

Paikka ja päiväys

i Lue lisää

Osallistu koulutukseen kotoa tai työpaikaltasi

9.4 – 12.4
Swedish Svenska
2.7 – 5.7
Swedish Svenska
9.4 – 12.4
Finnish Finnish
2.7 – 5.7
Finnish Finnish