TDDI14 Objektorienterad programmering
Föreläsningsplan
Referenser till kursboken C++ direkt avser den tredje upplagan, 2011.
Utdelat och annat material
Överblivna kopior finns utanför Tommy Olssons rum.
Föreläsning
Diakopior: Fö 1-2 fullformat | Fö 1-2 miniatyrer 2x2
Diakopior: Fö 3-4 fullformat | Fö 3-4 miniatyrer 2x2
Diakopior: Fö 5 fullformat | Fö 5 miniatyrer 2x2
Diakopior: Fö 6 fullformat | Fö 6 miniatyrer 2x2
Kodexempel föreläsning
Fö 1-2: klassen String (utdelas Fö 1)
Fö 3-4: klasshierarkin Person-Employee-Manager-Consultant (utdelas Fö 1)
Fö 5: Listklassmed polymorfa listnodklasser (utdelas Fö 5)
Fö 6: klassmallen Array (utdelas Fö 5)
| | |
| Fö 1 12/3 |
Introduktion till kursen Objektorienterad programmering. Klasser Känt från TDIU01, TDIU04: klasstyper (struct, class), datamedlem, medlemsfunktion, konstruktor, destruktor, åtkomstspecifikation (public, private). Även namnrymd (namespace) känt från TDIU04. Design av en enskild, icke-trivial klass (exemplet String). Initiering, kopiering, tilldelning och destruering av klassobjekt. Olika typer av konstruktorer, destruktor. Tilldelningsoperatorer. Typomvandling (typomvandlande konstruktorer, typomvandlingsoperatorfunktioner) this-pekaren. Läsanvisningar: C++ direkt kap 7, 8 (ej 8.7). |
| | |
|
Fö 2 13/3 |
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 kopieringstilldelning), operator[], operator+, operator+=, operator==, operator!=, operator<, operator<=, m.fl. Läsanvisningar: C++ direkt kap 7, 8 (ej 8.6). |
| | |
| Fö 3 23/3 |
Härledning/Arv Härledda klasser, arv. Orientering om konstruktioner och begrepp (härledning,arv, basklasssubklass, polymorfidynamisk 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"), polymorf klass, överskuggning ("overriding"), abstrakt klass. Dynamisk typkontroll och dynamisk typomvandling (RTTI, "Run-Time Type Identification"). Läsanvisningar: C++ direkt kap 9. |
| | |
|
Fö 4 26/3 |
Härledning/Arv (forts.) Se Fö 3. Läsanvisningar: C++ direkt kap 9. |
| | |
|
v 14 |
Påsklov |
| | |
|
v 15 |
Tentamensperiod Påsk |
| | |
|
Fö 5 16/4 |
Uttrycksträd Binära träd, speciellt uttrycksträd (laboration Kalkylatorn). Trädtraversering. Kanske något mer... Läsanvisningar: 13.4 (titta inte på 13.4.3!). |
| | |
|
Fö 6 23/4 |
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.
Läsanvisningar: C++ direkt kap 14.
|
Sidansvarig: Tommy Olsson
Senast uppdaterad: 2012-03-07
