Normally you would copy the members across from the parameter; this is a copy constructor.
date::date(date &d)
The default copy constructor given to you by the compiler just directly copies the bits across, so the above isn't strictly necessary, but it's good practice to define one anyway as reliance on default behaviours can be a bad idea (defaults have a habit of changing unexpectedly). If your copy constructor does something smarter than just copy the bits though, then you would need one (it might not make sense to copy the data, say if one of the members was a pointer it might need to point to a new thing, not to the same thing as would be the case if you just copied the bits across).

Last edited by xpi0t0s; 8Oct2008 at 02:03..