Ten eerste: ik weet hoe ik het programma moet schrijven, dus ik vraag hier geen hulp voor. Ik plak echter een kopie van het probleem zodat je kunt zien wat de opdracht inhoudt. Mijn vraag is specifiek gericht op waar plaats je variabelen om te voorkomen dat je alles wereldwijd maakt?
Opdracht
Ontwerp een klasse met de naam Date met gehele gegevensleden om maand, dag en jaar op te slaan. De klasse moet een constructor met drie parameters hebben waarmee de datum kan worden ingesteld op het moment dat een nieuw object Date wordt gemaakt. Als de gebruiker een object Date maakt zonder argumenten door te geven of als een van de doorgegeven waarden ongeldig is, moeten de standaardwaarden van 1, 1, 2001 (d.w.z. 1 januari 2001) worden gebruikt. De klasse moet lidfuncties hebben om de datum in de volgende indelingen af te drukken:
3/15/10
March 15, 2010
15 March 2010
Vraag
1) De leraar heeft ons geïnstrueerd om magische nummers in onze code te vermijden, dus de eerste vraag betreft mijn implementatie van de standaardconstructor:
// These are outside the class.
#define DEFAULT_MONTH 1
#define DEFAULT_DAY 1
#define DEFAULT_YEAR 2001
// This is inside the class definition.
Date(int month = DEFAULT_MONTH, int day = DEFAULT_DAY, int year = DEFAULT_YEAR);
Is dit correct?
2) De klasse heeft toegang nodig tot een array van string
-objecten die de maandnamen bevatten, zodat ik ze kan gebruiken voor datumuitvoer waarbij de maandnaam wordt weergegeven in plaats van het maandnummer. Ik heb een enum
gebruikt voor de numerieke maand (die wordt gebruikt voor de -schakelaar
).
const enum MONTH_IDS { JANUARY = 1, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY,
AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER };
const string MONTH_NAMES[NUM_MONTHS] = { "January", "February", "March",
"April", "May", "June", "July", "August", "September", "October",
"November", "December" };
De vraag voor dit deel is, waar plaatst u ze?
Some things I can't do...
I am not allowed to use static class members yet because that will be covered in the next chapter. We also have not gone over pointers, but we can use references.
Bedankt voor je hulp!
Ik zou de instructeur vragen, maar hij is de stad uit en de opdracht moet morgen in zijn bezit zijn.