T104

Ladda ner som PDF

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 September will be held in English!

Audience

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

Prior knowledge

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

Language

The course is taught in Swedish (Contact us if you prefer English).

Courseware

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 >

Objectives:

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

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

Module 5. Operator Overloading

Restrictions
Member or friend
Priority/associativity/commutativity
Increment operator
Index operator
Type converters

Module 6. Preprocessor Directives

Macros
Include guard
Conditional compilation
String operator
Catenation operator

Module 7. Templates

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

Module 8. Exceptions

Throw
Exception classes
Catch
Exception declarations

Module 9. Namespaces

Declaration Läs mer

Objectives:

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

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

Module 5. Operator Overloading

Restrictions
Member or friend
Priority/associativity/commutativity
Increment operator
Index operator
Type converters

Module 6. Preprocessor Directives

Macros
Include guard
Conditional compilation
String operator
Catenation operator

Module 7. Templates

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

Module 8. Exceptions

Throw
Exception classes
Catch
Exception declarations

Module 9. Namespaces

Declaration
Nested namespaces
Alias
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
Iterators
The Standard Library Iterators

Module 15. Standard Library Containers

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

Module 16. Miscellaneous Standard Classes (optional)

Streams library
Thread and synchronization classes
Random numbers
Regular expressions
Time

"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

 

Kurs-ID: T104
Längd: 4 dagar
Pris exkl moms: 31 450 kr

Frågor om kursen!?

Har du frågor om kursens innehåll, leveransdatum/ort eller behöver en företagsanpassad variant? Fyll i formuläret nedan!


Kan betalas med:
TRAINING CARD

Ort och datum

Stockholm
7 nov – 10 nov
Boka nu!
12 dec – 15 dec
Boka nu!
Göteborg
7 nov – 10 nov R
Boka nu!
12 dec – 15 dec R
Boka nu!
Malmö
7 nov – 10 nov R
Boka nu!
12 dec – 15 dec R
Boka nu!
Cloud Access
i Läs mer

Delta på kursen från ditt hem, jobb eller annan plats.

7 nov – 10 nov
Boka nu!
12 dec – 15 dec
Boka nu!

Tipsa