Introduktion och översikt
Objektorienterade program
- Vad är objektorienterad programmering?
- OO-programmeringens utveckling
- C++-klasser för inkapsling av data
- Objekt, typer och klasser
Fördelar med objektorienterade metoder
- Undvika global data och funktioner
- Tillförlitlighet och underhållsmöjligheter
Introduktion till C++
C++ för objektorienterad programmering
- Begränsningar hos C som objektorienterat språk
- Konstruktionsmål för C++
- C++ = C + stark typning + klasser
Strukturen hos ett C++-program
- C++-syntax
- Parameteröverföring
- Överlagring av funktioner och operationer
- Funktionsspecifikationer och deklarationer
- Separat kompilering; inkludera filer för moduluppbyggnad
Klasser i C++
- Deklaration och användning av klasser
- Förenkling av klassgränssnitt
- Konstruktorer
Utnyttja arv
Härledda klasser
- Polymorfism och dynamisk bindning
- Publika, privata och skyddade
- Delegering kontra arv
- Hierarkisk initialisering
- Nästlade klasser
- Rent virtuella funktioner
- Flerfaldigt arv
- Abstrakta klasser
Dynamisk typning
- Downcasting av pekare
- Hitta ett objekts typ
- Jämföra typer
C++ på djupet
Avancerade typer i C++
- Använda referenstyper
- Använda const medlemsfunktioner
- Förbättra driftsäkerhet och effektivitet med const
Avancerade funktioner i C++
- friends
- Överlagring av operatorer
- Överlagring av ( ) och [ ]
- "Inline"-funktioner
- "Default"-argument
| Hantera minne
Statisk lagring
- Statiska datamedlemmar
- Initiera globala data
Dynamisk minneshantering
- Minneshantering i C++
- new och delete
- Kopieringskonstruktorer
- Faran med "alias"
- Använda destruktorer
- Definiera tilldelning för att undvika alias
Standardbibliotek i C++
Generiska klasser och funktioner
- Återanvändning via typparametrar
- Deklarera "container"-klasser
- Deklarera och använda mallar
Återanvändbara och portabla bibliotek
- Använda standardalgoritmer: find, for each, sort
- Formatering med I/O-manipulatorer
- Portabla datastrukturer och behållare
- I/O klasshierarki
- Iteratorer
- Lagra data i standardbehållare: list, set, vector
Undantagshantering
- Felhantering i bibliotek
- Undantag: catch, throw och try
- Hantera undantag på ett säkert sätt
- Undantag i standardbiblioteket
Underhåll och design i C++
Organisera ett C++-projekt
- Underhålla C++-applikationer
- Organisera system med hjälp av namespaces
- Styra dynamisk typkonvertering
- Definiera och använda gränssnitt
Kombinera C med Java och C++
- Länka objektfiler från C och C++
- Konvertera "struct" och globala funktioner till klasser
- Eliminera case-fraser
- Gränssnitt mellan Java och C/C++
Strukturera program med C++, Java och C
- Programorganisation
- Minnestilldelning
- Programkonvertering
- Hitta vanliga konverteringsfel
|