944,150 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 1349
  • C++ RSS
Dec 3rd, 2007
0

Overloading Program containing constructors

Expand Post »
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??
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
lrnzsmok1 is offline Offline
9 posts
since Oct 2007
Dec 3rd, 2007
0

Re: Overloading Program containing constructors

>>Can anyone get me started with this??
Yes
C++ Syntax (Toggle Plain Text)
  1. int main()
  2. {
  3. // your code goes here
  4. }

How much do you know about the assignment you were given ? Everything that's in your assignment should be covered somewhere in your textbook.
Last edited by Ancient Dragon; Dec 3rd, 2007 at 2:07 am.
Sponsor
Team Colleague
Featured Poster
Reputation Points: 5608
Solved Threads: 2283
Retired and Enjoying Life
Ancient Dragon is offline Offline
21,963 posts
since Aug 2005

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: C++ for loops
Next Thread in C++ Forum Timeline: MP3 Playback in Visual C++





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC