Kursens syfte är att ge kunskaper i att använda programspråket C++ för att utveckla program. För att bli godkänd på kursen ska studenten ha uppnått följande lärandemål.
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.