CD5250 - Objektorienterad programutveckling med C++, 5 poäng, period 4, 2002

Föreläsningar

Förberedelser

För att kunna följa föreläsningarna så krävs vissa förkunskaper. Deltagarna skall vara väl förtrogna med programmeringsspråket C. Följande lista pekar på några av de konstruktioner som bör sitta i ryggmärgen.

  • struct
  • for
  • while
  • do-while
  • pekare
  • Ytterligare förberedelser som kan göras är att införskaffa lämplig kurslitteratur, där Jan Skansholms bok "C++ Direkt" är att föredra. Se kursinformationssidan

    Föreläsning 1 & 2

    Under de första föreläsningarna går vi igenom en lätt introduktion till allmän objektorientering. Denna avlöses av en beskrivning av objektiorienteringen i C++. Vi går bl.a. igenom referenser, minnesallokering, klasser, instanser, namespaces, STL (standardbiblioteket), string, vector, filhantering, defaultvärden och funktionsöverlagring.

    OH-bladen till föreläsning 1 och 2. (powerpoint)

    Introduktion till föreläsning 2. (powerpoint

    Föreläsning 3 & 4

    Vi går noggrannare igenom klasser i C++. Vi går igenom publika, skyddade och privata datamedlemmar och medlemsfunktioner, konstruktörer, destruktörer, metoddefinitioner, datamedlemmar, kopieringskonstruktorn, typomvandlingskonstruktörer, klassvariabler och klassmetoder. Dessutom går vi lätt in på funktionsmallar.

    OH-bladen till föreläsning 3 och 4. (powerpoint)

    Introduktion till föreläsning 3. (powerpoint

    Föreläsning 5 & 6

    Föreläsningarna innehåller först en kort repetition av det som togs upp i föregående föreläsning plus lite material relaterat till detta. Dessutom beskrivs operatorer och operatoröverlagring i C++. Vi går även in lite lätt på ojektorienterad analys och design, där vi studerar klassdiagram och modelleringsnotation (UML).

    OH-bladen från föreläsning 5 och 6. (powerpoint)

    Exempel från föreläsning 5

    Övningar från föreläsning 6

    Övning (Clock-klassen) från föreläsning 6 (Skriv en och bara en operator som gör att de båda plus operationerna lyckas.)

     

    Föreläsning 7 & 8

    I dessa föreläsningar ligger tonvikten på arv och multipelt arv. Vi går igenom termer som slicing, statiskt allokerade objekt m.m. Vi går även igenom hur konstruktorer och destruktorer beter sig vid arv och hur arv påverkar kodåtervinning.

    Lösningsförslag till typ-övningen från Föreläsning 6. (typer.zip

    Lösningsförslag till klock-övningen från Föreläsning 6. (clock2.zip

    OH-blad till föreläsning 7 och 8. (powerpoint)

    Klassrelationer  från Föreläsning 7

    Enkelt arv  från Föreläsning 8

     

    Föreläsning 9 & 10

    Vi går igeonom polymorfism och virtuella metoder i C++. Dessutom går vi igenom vad virtuellt arv är, och när det skall användas. Vi tar även upp vad statisk och dynamisk bindning är, samt dess effekter i C++.

    Demonstration av virtuella metoder. Programexempel från föreläsningen.

    OH-blad till föreläsning 9 och 10. (powerpoint)

    OH-blad till repetition om arv (powerpoint)

     

    Föreläsning 11 & 12

    Vi går igenom exceptions, upcast/downcast, typeid, namespaces, klassmallar och MFC. Dessutom presenteras projektuppgiften med tillhörande projektskelett/exempelprogram.

    OH-blad till föreläsning 11 och 12. (powerpoint)

     

    Föreläsning 13 & 14

    Overheads för föreläsning 13 ovch 14 är utspridda i fyra olika powerpointfiler. Det blir tyvär ingen gästföreläsare.

    Preliminärt Design Patterns. (powerpoint)
    Preliminärt Abstrakta Containertyper. (powerpoint)


    Preliminärt Iteratorer. (powerpoint)
    Preliminärt Objektorienterad Analys och Design. (powerpoint)

     

    Föreläsning 15 & 16

    Föreläsning 15 och 16 är extra tillfällen och jag tänkte bara ge en snabb repetion på tidigare material och gå igenom en tenta sen tidigare.

     

CD5250

Nyheter
Kursinformation
Föreläsningar
Labbar
Projektuppgift
Gott och blandat
C --> C++
STL-intro
Size-klassen
Visual C++
Kursplan
Schema
Ansvarig lärare: Stefan Råmonth - stefan.ramonth@realfast.se
Senast uppdaterad: