8.5 Copy ConstructorsA copy constructor creates a new object by copying variables from an existing object of the same type. For example, you might want to pass a Time object to a Time constructor so that the new Time object has the same values as the old one. C# does not provide a copy constructor, so if you want one you must provide it yourself. Such a constructor copies the elements from the original object into the new one: public Time(Time existingTimeObject) { year = existingTimeObject.year; month = existingTimeObject.month; date = existingTimeObject.date; hour = existingTimeObject.hour; minute = existingTimeObject.minute; second = existingTimeObject.second; } A copy constructor is invoked by instantiating an object of type Time and passing it the name of the Time object to be copied: Time newCopy = new Time(existingTimeObject); Here an existing Time object (existingTimeObject) is passed as a parameter to the copy constructor which will create a new Time object (newCopy). |