Skip to content

Latest commit

 

History

History
78 lines (61 loc) · 2.19 KB

File metadata and controls

78 lines (61 loc) · 2.19 KB

Aufgabensammlung 5


Aufgabe 5.1

  • abstrakte Baisklasse Shape
  • Methode area( )
  • Methode volume( )

Aufgabe 5.2

  • abgeleitete Klasse Box
  • abgeleitete Klasse Sphere
  • Shape -> center( )
  • Shape -> radius( )
  • Box -> min( )
  • Box -> max( )
  • Konstruktoren
  • Implementierung area( )
  • Implementierung volume( )
  • Tests

Aufgabe 5.3

  • Shape -> name_
  • Shape -> color_
  • Anpassung aller Konstruktoren

Aufgabe 5.4

  • Shape -> print( )
  • Shape -> operator <<( )

Aufgabe 5.5

  • Box -> print( )
  • Sphere -> print( )
  • Output Objekte beider Klassen
  • Schlüsselwort override verwenden

Aufgabe 5.6

  • tests.cpp -> Testcase
  • framework -> struct Ray
  • Sphere -> intersect( )
  • source -> hpp struct HitPoint
  • hitpoint -> Attribut "wurde geschnitten" (boolean)
  • hitpoint -> Attribut "welche Distanz" (t)
  • hitpoint -> Attribut "Objektename" (name_)
  • hitpoint -> Atribut "Objektfarbe" (color_)
  • hitpoint -> Attribut "3D Punkt des Schnitts" (vec3D)
  • hitpoint -> Attribut "Richtung des Strahls" (direction)
  • Tests

Aufgabe 5.7

  • Beispielcode

Aufgabe 5.8

  • Shape -> Destruktor
  • Testcase -> Programmcode

Aufgabe 5.9

  • Erklärung

Fragen

  Wo wird der Konstruktor der Basisklasse aufgerufen?  

  Erklären Sie den Effekt des Schlüsselworts override im Kontext der Vererbung! 
  Was passiert, wenn Sie das Schlüsselwort weglassen?  

  Erklären Sie anhand des Beispiels die Begriffe „Statischer Typ einer Variablen“ 
  und „Dynamischer Typ einer Variablen“ Wann wird welche Art des Typs überprüft?
  Was sind die dynamischen und die statischen Typen der Variablen s1 bzw s2?  

  In welcher Reihenfolge werden Konstruktoren und Destruktoren aufgerufen? 
  Entfernen Sie nun das Schlüsselwort virtual vom Destruktor der Basisklasse, 
  testen Sie erneut und erklären Sie den Unterschied.  

  Erklären Sie die Unterschiede zwischen Klassenhierarchie 
  vs. Objekthierarchie - Klassendiagramm vs. Objektdiagramm.