#include <iostream>
using namespace std;
const int DAYS = 0x08;
class Date
{
private:
uint8_t day, month, year;
uint8_t bcdToUint(uint8_t const nybbles);
public:
Date():day(1), month(1), year(00) // lnitialisierungsliste mit konstante Parameterwerten
{}
// Initialisierungsliste über parametrisierten Konstruktor
Date(uint8_t _day, uint8_t _month, uint8_t _year):day(_day), month(_month), year(_year)
{ // entspircht: day = _day; ....
}
~Date() {printf("Good bye\n");} // Destruktor
uint8_t GetDay(); // Methode
};
uint8_t Date::bcdToUint(uint8_t const nybbles)
{
day = (nybbles>>4)*10 + (nybbles & 0x0F);
return day;
}
uint8_t Date::GetDay()
{
//return bcdToUint(day & 0x3F);
return day;
}
int main()
{
Date date1; // Instanziierung mit Standard Konstruktor und
Date date2(18,4,15); // mit parametrisierten Konstruktor
printf("GetDay Test\n");
printf("Day 1: %d\n", date1.GetDay());
printf("Day 2: %d\n", date2.GetDay());
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IERBWVMgPSAweDA4OwoKY2xhc3MgRGF0ZQp7CnByaXZhdGU6Cgl1aW50OF90IGRheSwgbW9udGgsIHllYXI7CgogICAgdWludDhfdCBiY2RUb1VpbnQodWludDhfdCBjb25zdCBueWJibGVzKTsKcHVibGljOgoJRGF0ZSgpOmRheSgxKSwgbW9udGgoMSksIHllYXIoMDApICAgLy8gbG5pdGlhbGlzaWVydW5nc2xpc3RlIG1pdCBrb25zdGFudGUgUGFyYW1ldGVyd2VydGVuCgl7fQoJLy8gSW5pdGlhbGlzaWVydW5nc2xpc3RlIMO8YmVyIHBhcmFtZXRyaXNpZXJ0ZW4gS29uc3RydWt0b3IKCURhdGUodWludDhfdCBfZGF5LCB1aW50OF90IF9tb250aCwgdWludDhfdCBfeWVhcik6ZGF5KF9kYXkpLCBtb250aChfbW9udGgpLCB5ZWFyKF95ZWFyKQoJeyAgLy8gZW50c3BpcmNodDogIGRheSA9IF9kYXk7IC4uLi4KCX0KCX5EYXRlKCkge3ByaW50ZigiR29vZCBieWVcbiIpO30JCQkvLyBEZXN0cnVrdG9yCiAgICB1aW50OF90IEdldERheSgpOwkvLyBNZXRob2RlCn07Cgp1aW50OF90IERhdGU6OmJjZFRvVWludCh1aW50OF90IGNvbnN0IG55YmJsZXMpCnsKICAgIGRheSA9IChueWJibGVzPj40KSoxMCArIChueWJibGVzICYgMHgwRik7CiAgICByZXR1cm4gZGF5Owp9CnVpbnQ4X3QgRGF0ZTo6R2V0RGF5KCkKewogICAgLy9yZXR1cm4gYmNkVG9VaW50KGRheSAmIDB4M0YpOwogICAgcmV0dXJuIGRheTsKfQoKaW50IG1haW4oKQp7CglEYXRlIGRhdGUxOwkJCQkvLyBJbnN0YW56aWllcnVuZyBtaXQgU3RhbmRhcmQgS29uc3RydWt0b3IgdW5kIAoJRGF0ZSBkYXRlMigxOCw0LDE1KTsgIAkvLyBtaXQgcGFyYW1ldHJpc2llcnRlbiBLb25zdHJ1a3RvcgoJcHJpbnRmKCJHZXREYXkgVGVzdFxuIik7CglwcmludGYoIkRheSAxOiAlZFxuIiwgZGF0ZTEuR2V0RGF5KCkpOwoJcHJpbnRmKCJEYXkgMjogJWRcbiIsIGRhdGUyLkdldERheSgpKTsKICByZXR1cm4gMDsKfQo=