/*
FH Giessen Friedberg                                                         Uebung 04
C++
Prof. Dr. Henrich

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);
}
*/