Создание 2-похожих классов по названию и интерфейсу с++
Добрый вечер, уважаемые коллеги!
В ходе работы мне требуется создать класс, который по названию и интерфейсу совпадает с классом, текст которого приведен ниже, но в которой дата хранилась бы в упакованном виде
#include
#include
using namespace std;
class Date
{
public:
enum Month {JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG,
SEP, OCT, NOV, DEC, MONTHS = 12};
private:
int dd;
Month mm;
int yyyy;
public:
Date() : dd(1), mm(Date::JAN), yyyy(1970)
{
}
Date(int d, Month m, int y) : dd(d), mm(m), yyyy(y)
{
}
Date(const Date& d2)
{
dd = d2.dd;
mm = d2.mm;
yyyy = d2.yyyy;
}
~Date()
{
}
int getYear()
{
return yyyy;
}
void setYear(int year)
{
yyyy = year;
}
int getMonth()
{
return mm;
}
void setMonth(Month month)
{
mm = month;
}
int getDay()
{
return dd;
}
void setDay(int day)
{
dd = day;
}
// функция для определения, является ли год даты високосным
bool isLeapYear();
// операция сравнения дат
bool operator < (const Date& d2);
// операция преинкремента. Увеличивает дату на один день
Date& operator ++ ();
Скажите, что здесь является интерфейсом? Честно говоря из лекций и информации в википедии я это мало понял.