Illustrates a copy constructor

image_pdfimage_print

   

/*
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();

  }

}