das Problem ist deine set-Methode. Wenn man die mal ordentlcih formatiert, sieht man es auch schon:
Code:
void starter::set(int t, int m, int j)
{
if (j<1970||j>2099)
j = 1970;
if (m<1 || m>12)
m =1;
if (t<1 || t>30)
tag = t;
monat = m;
jahr = j;
};
falls die Bedingung "(t<1 || t>30)" nicht zutrifft, wird folglcih die variable "tag" nicht gesetzt und ist weiterhin nicht initialisiert. Und dadurch bekommst du als Ausgabe später eben den Wert ausgegeben, der als integer interpretiert in dem speicherbereich liegt.