Skriva program som använder dynamisk minnesallokering.
Designa och implementera klasser som korrekt hanterar resurser, inklusive användning av flyttsemantik.
Bygga klasshierarkier.
Använda containerklasser, algoritmer, och iteratorer från standardbiblioteket.
Kursinnehåll
Minneshantering: stack och heap, dynamisk minnesallokering, vanliga minneshanteringsfällor. Pekare inklusive smarta pekare. Referenser. Enkellänkade listor. Resursöverföring och ägande. RAII. Klasser och arv. Konstruktörer och destruktörer. Operatoröverlagring. Virtuella funktioner. Abstrakta klasser. Statisk och dynamisk bindning. Polymorfism. Objektskärning. Lambdafunktioner. Mallar. C++ standardmallbibliotek (STL): containerklasser, iteratorer och algoritmer.
Förutsättningar
En grundläggande kurs i programmering samt en kurs i objektorienterad programmering.
Litteratur
Programming: Principles and Practice Using C++ - Bjarne Stroustrup
C++ direkt - Jan Skansholm
Professional C++ - Marc Gregoire
C++ Primer - Stanley B. Lippman, Josée Lajoie, Barbara E. Moo