Es ist eine einfache Klasse Person zu schreiben, die aus mindestens einem Vor- und einem Nachnamen für eine Person besteht.
Es sind mindestens zwei Methoden zu definieren:
Die Klasse ist in drei verschiedenen Versionen zu implementieren, wobei sich die interne Darstellung der Namen (Vor- und Nachname) unterscheidet:
Hierbei ist aber darauf zu achten, daß nicht mehr benötigter Speicher auch sauber freigegeben wird.
Die Klasse soll mit folgendem Testprogramm ausprobiert werden:
// Time-stamp: "08.12.02 13:14 test_person.cpp klaus@wachtler.de"
//
// Testprogramm für class Person aus der C++-Übung A
//#include <cstdlib>
//#include <cstddef>
//#include <cstdio>
//#include <cstring>
#include <iostream>
#include <exception>
#include "Person.h"
using namespace std;
int main( int nargs, char **args )
{
try
{
// zwei Personen vereinbaren und initialisieren:
cout << "(definieren)" << endl;
Person a( "Karl", "Moik", 72 ), b( "Otto", "Waalkes", 55 );
// Beide Personen ausgeben:
a.zeige(); b.zeige();
// a zu einer Kopie von b machen:
cout << "(zuweisen)" << endl;
a = b;
// Beide Personen ausgeben:
a.zeige(); b.zeige();
// b neu setzen:
cout << "(b setzen)" << endl;
b.setze( "Eddi", "Stotter", 88 );
// Beide Personen ausgeben:
a.zeige(); b.zeige();
}
catch( exception &Fehler )
{
cerr << "Ausnahme in main() gefangen:\n"
<< Fehler.what() << endl;
}
catch( ... )
{
cerr << "unbekannte Ausnahme in main()" << endl;
}
return 0;
} // main( int nargs, char **args )
(Der Anwender der Klasse wird also nicht damit belästigt, wie die
Implementation intern aussieht.)
Themen:
Lösung siehe Zuweisung einfacher Objekte.
AnyWare@Wachtler.de