Purpose: Create a C++ class; use operators, overloading, member functions, friend functions, constructors and private data.
• Make the data members private. (This means that the non-member functions below will have to be friends of the Date class).
• Create a member function called ‘set’ with the same arguments, and return type void; and create a constructor with the same arguments.
Note that the member function accesses the data members of the object that called it, and a constructor sets the data members of the Date object being created.
A member function is called like ‘d.set(13,31,1999)’. A constructor is not called like a member function. It is used to create an object, which did not yet exist, either in a variable declaration, “Date d(12,31,1999);’
• Write operator++() and operator++(int) as member functions that do the same thing—change the value that is stored in the object of that called them, so that the object contains a date one day later.
In addition to doing this, they also return a value. The operator with no formal arguments is called as ‘++x’, and returns the value that is stored in the date after it is incremented. The one with a dummy int argument is called as ‘x++’, and returns the value that was stored in the date before it was incremented. Thus,
Date a(2,7,2001), b(1,1,2001), c, d;
c = a++; d = ++b;
cout << a << “,” << c << “,” << b << “,” << d;
will print “February 8, 2001, February 7, 2001, January 2, 2001, January 2, 1001”.
• Write operator==, so that ‘a==b= returns true if two dates are the same and false otherwise. It should not be a member function.
Finally, write a main function that tests all of the functions you wrote. If a function has a return value, you must demonstrate that the return value is correct. If a function is supposed to change the value stored in a variable, you must test that it did so. Be careful to test both of these properties for both operator++’s.
//Output:
Default constructor: January 1, 2000
3 argument constructor: February 27, 2000
D2++ returns February 27, 2000
Can anyone get me started with this??