Übung
musterloesungen_tictactoe.zip - Musterlösung zu Tic-Tac-Toe vom 19.11.2014.
Aufgabe 1
- Kapitel 6.4 zeigt ein Beispiel für die Implementierung eines mathematischen Vektors mit zwei Komponenten.
- Diese Klasse soll Basisklasse der erbenden Klasse "VektorE" werden.
- "VektorE" soll als Erweiterung eine Methode "double berechneBetrag()" enthalten, die die Vektorlänge zurückgibt.
- Um die neue Klasse zu testen, soll eine main-Methode geschreiben werden, bei der ein Benutzer eine freie Anzahl an Vektoren eingeben kann.
- Diese sollen nach Abschluß der Eingaben aufaddiert werden und die Länge des Summenvektors ausgegeben werden.
- Will man den Konstruktor einer Basisklasse benutzen, so kann man das so machen:
|
#include<iostream>
#include<stdio.h>
using namespace std;
class Tier
{
public:
string name;
Tier(string name)
{
this->name = name;
}
void zeigeOberbegriff()
{
cout<<"Ich bin ein Tier"<<endl;
}
};
class Hund : public Tier
{
public:
Hund(string name) : Tier(name)
{
}
void zeigeSpezies()
{
cout<<"Ich bin ein Hund."<<endl;
}
};
int main()
{
Hund h("Fiffi");
cout<<h.name<<endl;
system("PAUSE");
return 0;
}
Code 0-1: Verwendung des Konstruktors der Basisklasse.
Aufgabe 2
Während der Vorlesung am 03.11.2011 entwickelte Programme (Thema: Varianten für get-Methoden und Initialisierungen)
- Erweitern Sie das Programm "initialisieren_nr7_dateieinlesen.cpp" aus der Vorlesung in folgenden Schritten:
- Jede der Erweiterungsschritte soll über eine entsprechende Anpassung in der main-Methode auch getestet werden.
|
- Auch die x-Werte sollen aus einer Datei eingelesen werden.
- Die Dateinamen für die Koeffizienten und die Stützwerte werden den jeweiligen Methoden übergeben.
- Die zu verarbeitenden Dateinamen der Dateien mit den Koeffizienten und den x-Werten werden dem Programm als Parameter beim Start übergeben.
- Ersetzen Sie alle Arrays durch Elemente vom Typ vector<double>. Orientieren Sie sich dabei an der Einführung der Templateklasse vector in der vorletzten Vorlesung.
- Spalten Sie das soweit umgeschriebene Programm in eine Basisklasse und eine erbende Klasse auf. getWertetabelle(...) soll dabei in die erbende Klasse wandern.
|