Göm menyn

TDDI14 Objektorienterad programmering

Föreläsningsplan


Fö 1    

Introduktion till kursen

OH-kopior Introduktion:  fullformat  |  miniatyrer 2x2

Objektorienterad programmering

Klasser
Känt från TDIU04: klasstyper (struct, class), datamedlem, medlemsfunktion, speciella medlemsfunktioner, konstruktor, destruktor, tilldelningsoperatorer, åtkomstspecifikation (public, private) och namnrymd (namespace) samt mallar (template).

Design av en enskild, icke-trivial klass (exemplet String). Initiering, destruering, kopiering och tilldelning av klassobjekt. Olika typer av konstruktorer, destruktor. Tilldelningsoperatorer. Move-semantik, move-konstruktor, move-tilldelningsoperator. Iteratorer. Typomvandling (typomvandlande konstruktorer, typomvandlingsoperatorfunktioner). this-pekaren.

OH-kopior Fö 1-2:  fullformat  |  miniatyrer 2x2
Kodexempel Fö 1-2:  klassen String


Fö 2 

Klasser forts.

Operatoröverlagring
Känt från TDIU04: överlagring av operator<< och operator>> för en egen datatyp, överlagring av operator(), funktionsanropsoperatorn (i samband med funktionsobjekt).

Operatoröverlagring för String: operator= (speciellt kopierings- och move-tilldelning), operator[], operator+, operator+=, operator==, operator!=, operator<, operator<=, m.fl.


Fö 3 

Härledning/Arv
Härledda klasser, arv. Orientering om konstruktioner och begrepp (härledning,—arv, basklass—subklass, polymorfi—dynamisk bindning). Olika former av arv (enkelt arv, multipelt arv, repeterat arv, virtuellt arv).

Enkelt arv i C++. Grundläggande konstruktioner och mekanismer. Åtkomstspecifikation i samband med arv, speciellt protected. Initiering och destruering i klasshierarkier, virtuell destruktor.

Virtuella medlemsfunktioner, rent virtuella medlemsfunktioner ("pure virtual", "pure specifier" — "=0"), överskuggning ("overriding"), polymorf klass, abstrakt klass. Märkning av klasser med "final", märkning av virtuella medlemsfunktionern med "override" och "final". Dynamisk typkontroll och dynamisk typomvandling (RTTI, "Run-Time Type Identification", typeid, dynamic_cast).

OH-kopior Fö 3-4:  fullformat  |  miniatyrer 2x2
Kodexempel Fö 3-4:  klasshierarkin Person-Employee-Manager-Consultant


Fö 4 

Härledning/Arv (forts.)
Se Fö 3.


Fö 5 

Uttrycksträd
Binära träd, speciellt uttrycksträd (laboration Kalkylatorn). Trädtraversering och andra trädoperationer.

Standardundantag
Exempel på polymorf klasshierarki där objekt ska inte allokeras dynamiskt.

Polymorf lista
Exempel på polymorf klasshierarki för enkellänkad lista.

OH-kopior Fö 5:  fullformat  |  miniatyrer 2x2
Kodexempel Fö 5:  Listklass med polymorfa listnodklasser


v 17   Omtentamen påsk

Fö 6 

Mallar
Känt från TDIU04: att kunna göra om en enkel struct/class till en mall, template. Mallparameterlista, malltypparameter (template<typename T>). instansiering, instansieringsargument. Standardbiblioteksmallar: containerklasserna, de fördefinierade funktionsobjektsklasserna.

Olika slags mallparametrar, typparametrar, icke-typparametrar.

Funktionsmallar. Regler för användning av funktionsmallar för att lösa anrop.

OH-kopior Fö 6:  fullformat  |  miniatyrer 2x2
Kodexempel Fö 5:  klassmallen Array



Sidansvarig: Tommy Olsson
Senast uppdaterad: 2014-03-14