#include <iostream .h>
//class declaration
class Date
{
friend ostream& operator<<(ostream&, const Date&); //overload inserter operator
friend istream& operator>>(istream&, Date&); //overload extractor operator
private:
int month;
int day;
int year;
public:
Date (int = 7, int = 4, int = 96); //constructor
};
//implementation section
//overloaded insertion operator function
ostream& operator<<(ostream& out, const Date& adate)
{
out << adate.month << '/' << adate.day << '/' << adate.year;
return out;
}
// overloaded extraction operator function
istream& operator>> (istream& in, Date& somedate)
{
in >> somedate.month; //accept the month part
in.ignore(1); //ignore 1 character, the / character
in >> somedate.day; // get the day part
in.ignore(1); // ignore 1 character, the / character
in >> somedate.year; // get the year part
return in;
}
Date : :Date (int mm, int dd, int yy) // constructor
{
month = mm;
day = dd;
year = yy;
}
int main()
{
Date a;
cout << "Enter a date: ";
cin >> a; // accept the date using cin
cout << "The date just entered is " << a << endl;
return 0;
}