CD5250 - Objektorienterad programutveckling med C++, 5p

Laboration F - Arv och abstrakta överklasser


F1 - Arvshierarki

F2 - Konstruktorernas och destruktorernas anropsordning vid arv och aggregat

Tänk dig en arvshierarki med tre klasser A, B och C som i figuren till vänster.

Samtliga klasser innehåller en konstruktor och en destruktor. Ta reda på i vilken ordning dessa anropas när man skapar ett objekt av klassen C och sedan tar bort det.

    C * ptr;
    ptr = new C;
    delete ptr;

Implementera de tre klasserna enligt given arvshierarki och använd debuggerns trace funktion eller spårutskrifter.

Om man utökar klassen B med ett aggregat av klassen D, (Dvs. objekten av klassen B har en instansvariabel som är av klassen D) som i figuren till höger, när skapas då denna?

Försök finna den regel som säger i vilken ordning konstruktorerna och destruktorerna anropas i samband med arv och aggregat.

F3 - Privat, skyddat och publikt arv

F4 - Abstrakt överklass

F5 - Multipelt arv