T104
Avancerad C++ programmering
Detta är utbildningen för programmerare som har erfarenhet i C++, men som behöver fördjupa och uppdatera kunskaperna för att kunna utnyttja språkets alla möjligheter till att göra effektivare och mer robusta program. Kursen lär bland annat ut programmeringsidiom och designmönster, standardbibliotekets alla delar med bland annat iteratorer och samlingar, samt de nya klasserna och språkmekanismerna i den föreslagna C++09.
I utbildningen ingår ett flertal mindre övningar som tillsammans bildar en helhet. Övningarna fokuserar var och en på nyss genomgånget material. Exempel på övningar är avancerad operatoröverlagring, funktionsobjekt, resursallokering och användande av interface. Kursen är helt oberoende av plattform och utvecklingsmiljö.
Målgrupp:
Utbildningen vänder sig till programmerare som har erfarenhet i C++ men behöver fördjupa kunskaperna för att kunna utnyttja språkets alla möjligheter till att göra effektivare och mer robusta program.
Du får lära dig:
- De delar av språket som mera sällan används men som kan ge nya möjligheter.
- Avancerade kunskaper i programmeringstekniker såsom interface, templates och operatoröverlagring.
- Idiom såsom pimpl, funktionsobjekt och optimerat objektskapande.
- Implementera de klassiska designmönstren i C++.
- Använda samlingarna i STL, samt streamsbiblioteket.
- Få en introduktion till förslagen till ny standard: TR1, TR2 och C++09.
Innehåll:
1. Introduktion
2. Resursallokerande klasser
- Defaultkonstruktor, copykonstruktor och tilldelningsoperator
- Enparameterskonstruktor och explicit
- Resursallokering i konstruktor
- Ortodox klassform
3. Klassbegreppet
- Nästlade typer
- Statiska medlemmar
- Konstanta medlemmar
- Referensmedlemmar
- Enum som medlem
- Funktionspekare och metodpekare
4. Arv och interface
- Omdefinitioner
- Multipelt arv
- Objektidentitet
- Virtuella anrop från konstruktor/destruktor
- Abstrakta basklasser
- Interface
- Typecasting
5. Operatoröverlagring
- Restriktioner
- Medlem kontra friend
- Prioritet/associativitet/kommutativitet
- Inkrementoperatorn
- Indexoperatorn
- Typomvandlingsoperatorer
6. Preprocessorn
- Makron
- Includevakt
- Villkorlig kompilering
- Strängoperaorn
- Kateneringsoperatorn
7. Typparameterisering
- Typpolymorfism
- Instansiering
- Funktionsmallar
- Klassmallar
- Typparametrar
- Templates och arv
- Specialiseringar
- Separatkompilering
8. Undantag
- Kasta undantag
- Egna undantagsklasser
- Fånga undantag
- Semantik för undantag
9. Namnrymder
- Deklaration
- Nästlade namnrymder
- Alias
- Synliggöra typer och namnrymder
10. Indexoperator med två implementationer
- Separera läsning från skrivning
- Hjälpklass
- Tillämpningar
11. Minneshantering
- Egendefinierad minneshantering
- Klasspecifik minneshantering
12. Konstruktorallokering
- Resursobjek
- Automatisk allokering och avallokering
13. Spårutskrifter
- Makron för spåruskrifter
- Spåra inträde/utträde ur funktioner
- Utskrift av returvärden
14. Funktionsobjekt
- Instansierbara funktioner
- Funktionsobjekt med pekare
15. Pimpl
- Separera interface från implementation
- Minimera omkompileringar
- Skapa exceptionsäkerhet
16. Designmönster för objektskapande
- Factory method
- Prototype
- Singleton
17. Strukturella mönster
- Adapter
- Composite
- Decorator
18. Mönster för beteende
19. Streams-biblioteket
- Klasshierarkin
- Filhantering
- Fördefinierade streamobjekt
- Manipulatorer
- Egendefinierad streamoperator
20. Standard Template Library
- Samlingsformer
- Samlingshierarkier
- Iteratorer
- Sambandet med algoritmerna
21. Algoritmer
- Algoritmer som ändrar samlingen
- Algoritmer för sortering
- Numeriska algoritmer
22. Standardiseringsarbete
- Technical Report 1 och 2
- C++0x
Fakta
Kurs
T104
Längd
5 dagar
Pris
24.500 kr (exkl. moms)
Förkunskaper
Kunskaper i C++.
Kursmaterial
Kursmaterial på svenska ingår.
Kontakta oss
för mer information:
08 - 587 116 10 (Stockholm)
031 - 773 07 90 (Göteborg)
040-662 20 60 (Malmö)
info@informator.se