WolfgangKaier Blatt3
A
Objektorientierte Programmierung mit C++
(WS 2008)
Abgabetermin:18.NovemberMonat2008
10 Fragen (2 Punkte)
ErklärenSie:WasisteinKonstruktor?WieisterAufgebaut?
11 Event-Kalender (8 Punkte)
IndiesemÜbungsblattsollenSieeineArtEvent-Kalendererstellen.DerKalendersollsolhe
Events-alsobestimmteZeitpunkte-speihernundwiederausgebenkönnen.InAbhängigkeit
derübergebenenParameterbeiderInstantiierungsollsowohlderZeitpunktdesEventsgesetzt,
alsauhdieFormatierungbeiderAusgabefestgelegtwerden.EinespätereÄnderungderZeit
bzw.Formatierungsollmöglihsein.
DieKlasseistwiefolgtdeniert:
daytime([int h | int h, int m | int h, int m, int s℄ [har F℄)
WirdkeinParameterangegeben,sosolldieaktuelleSystemzeitgenommenwerden.
DasoptionaleFormatistdeniert:
• A:hh:mm:ss(Standardformat)
• B:hh:mm(nurStundenundMinuten)
• C:hh:mm(AmerikanishesFormatinAMundPM)
IhreAufgabeistesnun,dieseKlassedaytimemitvershiedenenKonstruktorenzuerstellen
undallenötigennötigenAttributeundMethodenzuimplementieren.
Einepassende,beispielhaftemain()-Funktionkönntesoaussehen:
int main() {
daytime now;
std::out << "Dieses Programm lief um " << now.getFormattedString() << endl;
daytime event(12, 15, 'B');
event.setFormat('C');
std::out << "Letztes Event um " << event.getFormattedString() << endl;
return 0;
}
undführtzufolgenderAusgabe:
Dieses Programm lief um
12:22:00 Uhr
Das naehste Event ist um
12:15 Uhr
Letztes Event um Format ist um
1:00 PM Uhr
Hinweise:
DieaktuelleZeitkannwiefolgtermitteltwerden:
#inlude <time>
...
time_t ZeitDatum;
strut tm *AktuelleZeit;
ZeitDatum = time(NULL);
AktuelleZeit = loaltime(&ZeitDatum);
Stunde = AktuelleZeit->tm_hour;
Minute = AktuelleZeit->tm_min;
Sekunde = AktuelleZeit->tm_se;
DieFunktionsprintf()aus<stdio>könntehilfreihsein
VielErfolg!