Ue1
Erweitern Sie das Programm
aus Uebung 4 Aufgabe 1 um das 3-D-Objekt Parallelepiped.
Ein Parallelepiped wird
durch drei Vektoren im Raum, die nicht in einer Ebene liegen,
gebildet. Die Vektoren
werden am Eckpunkt angesetzt.
Alle Seitem des Parallelepipeds
sind Parallelogramme. Die Fläche eines aus zwei Vektoren
gebildeten Parallelogramms
ist gleich dem Betrag des Vektorproduktes aus ihnen.
Lassen Sie in main den
Benutzer entscheiden ob er eine Kugel, ein Würfel oder ein Parallelepiped
anlegen möchte.
(Analog zu Aufgabe 1 in Uebung 4).
Ue2
Jedes Fahrzeug hat ein
Baujahr (Private, da nicht änderbar), eine aktuelle Geschwindigkeit
und eine Methode beschleunige().
Ein Auto ist ein Fahrzeug,
wobei der Aufruf von beschleunige zum Erhöhen der aktuellen
Geschwindigkeit um 20
führt.
Ein LKW ist ein Fahrzeug,
wobei der Aufruf von beschleunige zum Erhöhen der aktuellen
Geschwindigkeit um 10
führt. Ein LKW hat eine aktuelle Ladung (float) und eine Methode
beladen(float Gewicht).
Hinweis:
Leiten Sie Auto und LKW wie folgt ab: class Abgeleitet
: virtual public Basis
Ein Pickup ist sowohl
ein Auto als auch ein LKW, wobei der Aufruf von beschleunige zum
Erhöhen der aktuellen
Geschwindigkeit um 15 führt.
Legen Sie in main zunächst
ein Auto, einen LKW und einen Pickup statisch an und rufen Sie
anschliessend in einer
for-Schleife die Methode beschleunige() aller Instanzen auf.
Beladen Sie danach den
Pickup.
Ue3
Das folgende Programm
enthält 6 Fehler. Welche?
class A1{
const int i;
friend void frei(B*
ptr);
public:
A1(){i=7;}
virtual void fn(){cout<<"A1"<<i;};
virtual void test()=0;
};
class A2{
public:
virtual void fn(int)=0;
};
class B: public A1,public
A2{
int j;
public:
void fn(int){}
};
void frei(B* ptr){cout<<ptr->i<<ptr->j;}
void main(){
B b;
b.fn();
frei(&b);
A1* aptr=&b;
aptr->fn();
aptr->fn(5);
}
*/