Ue1
Kugel und Wuerfel sind dreidimensionale
Objekte. Eine Kugel hat einen
Mittelpunkt und einen Radius.
Defaultmäßig wird der Punkt (0,0,0) als
Mittelpunkt genommen. Ein Wuerfel
hat einen linken unteren Eckpunkt und eine
Kantenlänge (Kanten parallel
zu den Koordinatenachsen). Alle dreidimensionalen
Objekte haben eine Methode zur
Oberflaechenberechnung.
Alle Datenelemente sind prinzipiell
private.
a) Legen Sie zunächst mehrere
Kugeln und Würfel in main() an wobei der Benutzer
den Typ des Objektes
auswählt und geben Sie anschliessend deren Daten
einschliesslich
der Oberflaeche aus.
b) Überprüfen Sie den
Aufruf der Konstruktoren und der Destruktoren
(jedem Konstruktoraufruf
muss ein Destruktoraufruf zugeordnet werden)
Ue2
Implementieren Sie das Beispiel
der Klassen Dreieck und Kreis aus der Vorlesung
ohne die Verwendung der virtuellen
Funktionen. (Typvariable in Klasse Geo_objekt).
Ue3
Das folgende Programm enthält
Fehler. Suchen Sie zunächst die Fehler ohne
Unterstützung des Compilers
und kommentieren Sie die fehlerhaften Stellen aus.
Wie sieht die Ausgabe aus?
class A{
public:
void fn(){cout<<"A";}
void fn(int i){cout<<"A"<<i;}
virtual void vf(){cout<<"A";}
virtual void vf(int i){cout<<"A"<<i;}
};
class B:public A{
public:
void fn(){cout<<"B";}
void fn1(){A::fn(5);}
void vf(int i){cout<<"B"<<i;}
};
void main(){
A a;
B b;
a.fn(4.5);
b.fn();
b.fn(1);
b.A::fn();
b.vf();
A* aptr=&b;
aptr->vf();
aptr->vf('a');
}
*/