Kurser

5 dages kursus 
Læring inden for et specifikt emne

C++ Advanced Programming

Kontakt os på tlf. 7220 3000 eller skriv til  kurser@teknologisk.dk for at høre mere.

Ingen planlagte afholdelser.
DKK  21.499
ekskl. moms
Nr. 91287 A

C++ er et stærkt og komplekst programmeringssprog. Dette kursus går dybden med de mere avancerede funktioner og udviklingsteknikker i C ++, for at hjælpe dig med at få mest muligt ud af sproget. Du får også en grundig dækning af C ++ Standard Template Library (STL) og, hvordan du implementerer OO-designmønstre og C ++ programmeringsidiomer for at styrke best practice i din kode. Undervisningen foregår på engelsk.

Deltagerprofil

Kurset er til dig, der gerne vil lære om de mere avancerede funktioner i programmeringssproget C++.

Forudsætninger

Du skal have mindst 3 – 6 måneders praktisk erfaring med programmering i C++.

 

Udbytte

  • Lær at bruge casting- og konversionsteknikker
  • Forståelse for overloading [], () og ->
  • Lær at definere skabelonfunktioner og skabelonklasser
  • Lær at bruge STL-iteratorer og algoritmer
  • Lær om administration af ressourceanskaffelse og -frigivelse
  • Få en effektiv udnyttelse af OO-mønstre og C++-idiomer
  • Lær at bruge avancerede skabelonteknikker

Det får du på kurset

Vi sørger for at rammerne er i orden, så du kan fokusere på at lære

Efter du har fuldendt kurset, vil du modtage et kursusbevis.

Kursusbevis

Hos Teknologisk Institut bruger vi kun erfarne undervisere.

Erfaren underviser

På dette kursus vil der højest være MAKS DELTAGERE pr. hold.

Maks. 10 deltagere

På kurset får du morgenmad, frokost, snacks og drikkevarer.

Fuld forplejning

På kurset er der indtænkt øvelser og deltagerinddragelse.

Øvelser og inddragelse

Materiale på engelsk

Materiale på engelsk

Undervisning på engelsk

Undervisning på engelsk

Tæt på kursusstedet er der gratis parkering.

Gratis parkering

Computer stilles til rådighed

Computer stilles til rådighed

Indhold

Setting the Scene
  • Recap of C++ and OO features and techniques
  • ISO C++
  • Core language additions
  • Recap of the standard library
Copying and Conversions
  • Staticcast, dynamiccast, constcast and reinterpretcast
  • The mutable keyword
  • The explicit keyword
  • User defined conversion operators
  • Copy construction and assignment
Scope and Related Patterns/Idioms
  • Recap of static class members
  • The Singleton pattern
  • Defining nested classes
  • The Handle/Body idiom
  • Using namespaces effectively
Using Delegation
  • Recap of association and delegation
  • The Object Adapter pattern
  • The Proxy pattern
  • The Null Object pattern
  • Defining smart pointers
  • Lazy loading
Overloading the subscript operator
  • How to overload []
  • Why to overload []
  • Creating multi-dimensional containers
Template Functions
  • Overview of template functions
  • Implementing generic algorithms using template functions
Template Classes
  • Overview of template classes
  • Specifying multiple type parameters
  • Using the standard container classes
Using Iterators and Algorithms
  • What is an iterator
  • Using standard iterators
  • Creating generic algorithms using iterators
  • Function objects
Exception Handling Techniques
  • Recap of exceptions
  • The standard exception class hierarchy
  • Uncaught exceptions
  • Strategies for handling exceptions
  • Exception safety
Effective Memory Management
  • Handling allocation failures
  • Overriding the new operator to customise memory allocation
  • Caching
  • Controlling timing of construction and destruction
Reference Counting Techniques
  • Defining classes that use shared representation objects
  • Reference-counted strings
  • Defining smart pointers for garbage collection
Inheritance Techniques
  • Defining interfaces
  • Multiple inheritance
  • Virtual base classes
  • Interface classes
  • Mixin classes
  • Runtime type information (RTTI)
  • Private and protected inheritance
  • The Class Adapter pattern
Advanced Template Techniques
  • Defining non-type template parameters
  • Defining template adapters
  • Specifying default template parameters
  • Specializing templates
  • Defining trait classes
Call-back Techniques
  • Implementing call-backs using function pointers
  • The Command pattern
  • Function objects
  • Member function pointers
26419
Underviser

Andy Olsen

Andy kommer fra Storbritannien og har mere end 30 års erfaring inden for IT. Andy begyndte sin professionelle karriere som C/C++ udvikler og senere udvikling i Java, C# og andre sprog. Andy er aktivt involveret i en bred vifte af teknologier herunder Full-Stack Development, Cloud Native applikationer, Data Science og meget mere. Andy er meget engageret og brænder for at undervise.