CS396-Projects/examples/constructors.cpp

71 lines
1.3 KiB
C++

#include <iostream>
#include <cstdlib>
using namespace std;
class DayOfYear
{
private:
int month;
int day;
void testDate();
public:
DayOfYear(int monthValue, int dayValue);
DayOfYear(int monthValue);
DayOfYear();
void input();
void output();
int getMonthNumber();
int getDay();
};
DayOfYear::DayOfYear(int monthValue, int dayValue)
: month(monthValue), day(dayValue)
{
testDate();
}
DayOfYear::DayOfYear(int monthValue)
: month(monthValue), day(1)
{
testDate();
}
DayOfYear::DayOfYear()
: month(1), day(1)
{}
void DayOfYear::testDate()
{
//
if((month < 1) || (month > 12))
{
//
cout << "Invalid month.\n";
}
if((day < 1) || (day > 31))
{
//
cout << "Invalid day.\n";
}
}
void DayOfYear::output()
{
string Months [] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
cout << "The month is " << Months[month-1] << " and the day is " << day;
}
int main()
{
DayOfYear date1(2, 21), date2(5), date3;
cout << "Initialized dates:" << endl;
date1.output(); cout << endl;
date2.output(); cout << endl;
date3.output(); cout << endl;
date1 = DayOfYear(10, 31);
cout << "Date 1 reset to the following: " << endl;
date1.output(); cout << endl;
return 0;
}