#include <iostream>
using namespace std;
const int DAYS = 0x08;
class Date
{
protected: // vorher private!!!
uint8_t day, month, year;
public:
Date():day(1), month(1), year(00) {} // Initialisierungsliste mit konstante Parameterwerten
// Initialisierungsliste über parametrisierten Konstruktor
Date(uint8_t _day, uint8_t _month, uint8_t _year):day(_day), month(_month), year(_year) {}
uint8_t GetDay(); // Methode
};
uint8_t Date::GetDay()
{
return day;
}
class DateString : public Date // String siehe auch: http://s...content-available-to-author-only...e.net/Home.shtml
{
public:
DateString():Date() {}
// DateString():Date(2,3,11) {} // Alternativ mit neuen Werten --> ausprobieren
DateString(uint8_t _day, uint8_t _month, uint8_t _year): Date(_day, _month, _year) {}
string GetDayStr() {
// string str = to_string(day);
return to_string(day);
}
};
int main()
{
DateString date1; // Instanziierung mit Standard Konstruktor und
DateString date2(18,4,15); // mit parametrisierten Konstruktor
printf("Day 1: %d\n", date1.GetDay()); // Verwenden der Methode GetDay aus Klasse Date
printf("Day 2: %d\n", date2.GetDay());
string str = date2.GetDayStr();
printf("DayString %s\n", str.c_str()); // in einen C-String konvertieren für printf oder cout verwenden
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IERBWVMgPSAweDA4OwoKY2xhc3MgRGF0ZQp7CnByb3RlY3RlZDoJLy8gdm9yaGVyIHByaXZhdGUhISEKCXVpbnQ4X3QgZGF5LCBtb250aCwgeWVhcjsKCnB1YmxpYzoKCURhdGUoKTpkYXkoMSksIG1vbnRoKDEpLCB5ZWFyKDAwKSAge30gLy8gSW5pdGlhbGlzaWVydW5nc2xpc3RlIG1pdCBrb25zdGFudGUgUGFyYW1ldGVyd2VydGVuCgkvLyBJbml0aWFsaXNpZXJ1bmdzbGlzdGUgw7xiZXIgcGFyYW1ldHJpc2llcnRlbiBLb25zdHJ1a3RvcgoJRGF0ZSh1aW50OF90IF9kYXksIHVpbnQ4X3QgX21vbnRoLCB1aW50OF90IF95ZWFyKTpkYXkoX2RheSksIG1vbnRoKF9tb250aCksIHllYXIoX3llYXIpIHt9CgogICAgdWludDhfdCBHZXREYXkoKTsJCS8vIE1ldGhvZGUKfTsKCnVpbnQ4X3QgRGF0ZTo6R2V0RGF5KCkKewogICAgcmV0dXJuIGRheTsKfQoKY2xhc3MgRGF0ZVN0cmluZyA6IHB1YmxpYyBEYXRlCS8vIFN0cmluZyBzaWVoZSBhdWNoOiBodHRwOi8vcy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5uZXQvSG9tZS5zaHRtbAp7CnB1YmxpYzoKICAgIERhdGVTdHJpbmcoKTpEYXRlKCkge30KICAgIC8vIERhdGVTdHJpbmcoKTpEYXRlKDIsMywxMSkge30gIC8vIEFsdGVybmF0aXYgbWl0IG5ldWVuIFdlcnRlbiAtLT4gYXVzcHJvYmllcmVuCiAgICBEYXRlU3RyaW5nKHVpbnQ4X3QgX2RheSwgdWludDhfdCBfbW9udGgsIHVpbnQ4X3QgX3llYXIpOiBEYXRlKF9kYXksIF9tb250aCwgX3llYXIpIHt9CiAgICAKICAgIHN0cmluZyBHZXREYXlTdHIoKSB7CQoJLy8gc3RyaW5nIHN0ciA9IHRvX3N0cmluZyhkYXkpOwoJcmV0dXJuIHRvX3N0cmluZyhkYXkpOwogICAgfQp9OwoKaW50IG1haW4oKQp7CglEYXRlU3RyaW5nIGRhdGUxOwkJCS8vIEluc3RhbnppaWVydW5nIG1pdCBTdGFuZGFyZCBLb25zdHJ1a3RvciB1bmQgCglEYXRlU3RyaW5nIGRhdGUyKDE4LDQsMTUpOyAgCQkvLyBtaXQgcGFyYW1ldHJpc2llcnRlbiBLb25zdHJ1a3RvcgoKCXByaW50ZigiRGF5IDE6ICVkXG4iLCBkYXRlMS5HZXREYXkoKSk7CS8vIFZlcndlbmRlbiBkZXIgTWV0aG9kZSBHZXREYXkgYXVzIEtsYXNzZSBEYXRlCglwcmludGYoIkRheSAyOiAlZFxuIiwgZGF0ZTIuR2V0RGF5KCkpOwoJc3RyaW5nIHN0ciA9IGRhdGUyLkdldERheVN0cigpOwoJcHJpbnRmKCJEYXlTdHJpbmcgJXNcbiIsIHN0ci5jX3N0cigpKTsJLy8gaW4gZWluZW4gQy1TdHJpbmcga29udmVydGllcmVuIGbDvHIgcHJpbnRmIG9kZXIgY291dCB2ZXJ3ZW5kZW4gCiAgcmV0dXJuIDA7Cn0K