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