/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy
Publisher: Sybex;
ISBN: 0782129110
*/
/*
Example5_13.cs illustrates a copy constructor
*/
// declare the Car class
class Car
{
// declare the fields
private string make;
private string model;
private string color;
private int yearBuilt;
// define the copy constructor
public Car(Car car)
{
this.make = car.make;
this.model = car.model;
this.color = car.color;
this.yearBuilt = car.yearBuilt;
}
public Car(string make, string model, string color, int yearBuilt)
{
this.make = make;
this.model = model;
this.color = color;
this.yearBuilt = yearBuilt;
}
// define method to display the fields
public void Display()
{
System.Console.WriteLine("make = " + make);
System.Console.WriteLine("model = " + model);
System.Console.WriteLine("color = " + color);
System.Console.WriteLine("yearBuilt = " + yearBuilt);
}
}
public class Example5_13
{
public static void Main()
{
// create a Car object
Car myCar = new Car("Toyota", "MR2", "black", 1995);
// create a copy of this Car object
Car carCopy = new Car(myCar);
// display the values for the Car object's fields
System.Console.WriteLine("myCar details:");
myCar.Display();
System.Console.WriteLine("carCopy details:");
carCopy.Display();
}
}