Во-первых: я знаю, как написать программу, поэтому я не прошу помощи с этим.Однако я вставляю копию проблемы, чтобы вы могли видеть, что влечет за собой назначение.Мой вопрос специально нацелен на то, где вы размещаете переменные, чтобы не делать все глобальным?
Назначение
Разработка класса с именем Date, который содержит целочисленные элементы данных для хранения месяца, день и год.Класс должен иметь трехпараметрический конструктор по умолчанию, который позволяет устанавливать дату в момент создания нового объекта Date.Если пользователь создает объект Date без передачи каких-либо аргументов или если любое из переданных значений недопустимо, следует использовать значения по умолчанию 1, 1, 2001 (т. Е. 1 января 2001 г.).В классе должны быть функции-члены для печати даты в следующих форматах:
3/15/10
March 15, 2010
15 March 2010
Вопросы
1) Учитель дал нам указание избегать использования магических чисел внаш код, поэтому первый вопрос касается моей реализации конструктора по умолчанию:
// 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);
Это правильно?
2) Классу необходим доступ к массиву string
объектов, которыеудерживайте названия месяцев, чтобы я мог использовать их для вывода даты, в котором вместо номера месяца отображается название месяца.Я использовал enum
для числового месяца (который будет использоваться для switch
).
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" };
Вопрос к этой части, где вы их размещаете?
Некоторые вещи, которые я не могу сделать ... Мне запрещено использовать статические члены класса, потому что это будет рассмотрено в следующей главе.Мы также не перебрали указатели, но мы можем использовать ссылки.
Спасибо за вашу помощь!
Я бы попросил инструктора, но его нет в городе, и задание назначенозавтра.