You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 24, 2019. It is now read-only.
Implementation av basklassens virtuella funktioner vid behov
Konstruktor som tar år, månad, dag som int.
Man ska kunna kopiera och tilldela dateobjekt. Skillnaden mellan datumen
ska vara noll efter tilldelning/kopiering.
DONE: (6ec8511) postfix-operatorer ++ och -- som returnerar kopia av sig själv.
Konstruktion utan argument (defaultkonstruktorn) ger dagens datum. För
att få dagens datum ska du inte använda systemanrop direkt utan gå via en
speciell funktion, se filen kattistime.h på kurskatalogen.
Korrekt hantering av skottår. I den julianska är det vart fjärde år. I den
Gregorianska kalendern infaller skottdagen vart fjärde år men utgår de
sekelårtal som inte är jämnt delbara med 400.
DONE (72b961f, f27f61e) Utskriftsoperatorn ska definieras och skriva ut datumet på formen YYYY-MM-DD där ental fylls ut med nollor (2000-01-01).
add_month ska ge samma datum i nästa månad men om det inte går så
ska det plussas på 30 dagar istället. Exempel 1/9 -> 1/10 och 31/5 -> 30/6. Den 31/1 kan bli 1:a eller 2:a mars beroende på om det är skottår.
För skottdagen ska add_year ge sista februari: 29/2 2004 -> 28/2 2005.
Anropar man add_year den 29/2 först med 1 och därefter med -1 så ska man
hamna på 28/2. Lägger man till fyra år till skottdagen ska man hamna på
skottdagen igen om det nu är skottår då: 29/2 2004 -> 29/2 2008. Hade man
istället lagt till ett år i taget hade man hamnat på den 28:e
Anropar man add_month med argumentet 5 så ska det vara ekivivalent
med om man gör add_month 5 gånger. Motsvarande gäller inte alltid för add_year se ovan.
Försöker man komma åt eller skapa ogiltiga dagar så ska out_of_range
slängas.
Använd engelska namn med små bokstäver på dagar och månader. Var
noga med stavningen.
Deklaration och implementation av klasserna ska skrivas i i separata header-
respektive implementationsfiler (.h.cpp).
Alla implementationsdetaljer (exempelvis om du har en hjälpfunktion leap_year()) ska döljas med protected eller private.
The text was updated successfully, but these errors were encountered:
int
.ska vara noll efter tilldelning/kopiering.
++
och--
som returnerar kopia av sig själv.att få dagens datum ska du inte använda systemanrop direkt utan gå via en
speciell funktion, se filen kattistime.h på kurskatalogen.
Gregorianska kalendern infaller skottdagen vart fjärde år men utgår de
sekelårtal som inte är jämnt delbara med 400.
YYYY-MM-DD
där ental fylls ut med nollor (2000-01-01
).add_month
ska ge samma datum i nästa månad men om det inte går såska det plussas på 30 dagar istället. Exempel
1/9 -> 1/10
och31/5 -> 30/6
. Den 31/1 kan bli 1:a eller 2:a mars beroende på om det är skottår.add_year
ge sista februari:29/2 2004 -> 28/2 2005
.Anropar man
add_year
den 29/2 först med 1 och därefter med -1 så ska manhamna på 28/2. Lägger man till fyra år till skottdagen ska man hamna på
skottdagen igen om det nu är skottår då:
29/2 2004 -> 29/2 2008
. Hade manistället lagt till ett år i taget hade man hamnat på den 28:e
add_month
med argumentet5
så ska det vara ekivivalentmed om man gör
add_month
5 gånger. Motsvarande gäller inte alltid föradd_year
se ovan.out_of_range
slängas.
noga med stavningen.
respektive implementationsfiler (
.h
.cpp
).Alla implementationsdetaljer (exempelvis om du har en hjälpfunktion
leap_year()
) ska döljas medprotected
ellerprivate
.The text was updated successfully, but these errors were encountered: