Hinweis: Erstellen Sie in Aufgabe 1 und 3 zunächst ein Klassenmodell (auf Papier)!
Ue1
Wir modellieren in unserem
Anwendungsbereich Zahlen.
Ein Integer ist eine
spezielle Zahl. Jede Zahl kann inkrementiert und mit einer Methode
show() ausgegeben werden.
Modulo_5 ist eine Zahl.
Darüber hinaus
sei die folgende Klasse, die wir unverändert verwenden wollen, gegeben:
class
compl{
protected:
int re;
int im;
public:
compl(int r=3,int i=7):re(r),im(i){}
void ausgabe(){cout<<"Re: "<<re<<" Im: "<<im<<endl;}
};
Legen Sie in main() einen
Vektor aus Basisklassenzeigern an. Legen Sie Instanzen an,
wobei der Benutzer entscheidet
welcher Zahlentyp angelegt werden soll und wie die
Instanzen initialisiert
werden.
Inkrementieren Sie anschliessend
in einer Schleife alle Instanzen und geben diese aus.
Ue2
Erweitern Sie Aufgabe
1 so, daß beim Programmstart und nach dem Anlegen ausgegeben wird
wieviele Instanzen des
Typs Zahl und wieviele Instanzen des Typs Integer angelegt sind.
Ue3
Erstellen Sie eine Klasse
Vektor und eine Klasse Matrix so, daß folgendes ausführbar ist:
void main(){
Ausgaben;
Matrix m;
Matrix: 1 2
2 4
m.show();
Vektor: 7
Vektor v;
8
v.show();
Produkt: 23
(m*v).show();
46
}
Die Vektordimension
= 2 (fest) und die Matrix hat prinzipiell 2 Zeilen und 2 Spalten.
Alle Datenelemente sind
privat, wobei auch keine get- und set-Methoden verwendet werden
sollen. Zugriffsrechte
können über friend-Methoden
(keine friend-Klasse)
falls notwendig vergeben werden.
/*