Mega Code Archive

 
Categories / C# Tutorial / Class
 

Pass a derived class reference to a base class reference

using System;    class Shape {    double pri_width;  // private    double pri_height; // private      public Shape() {      width = height = 0.0;    }      public Shape(double w, double h) {      width = w;      height = h;    }      public Shape(double x) {      width = height = x;    }      public Shape(Shape ob) {      width = ob.width;      height = ob.height;    }      public double width {       get { return pri_width; }       set { pri_width = value; }    }      public double height {       get { return pri_height; }       set { pri_height = value; }    }      public void showDim() {      Console.WriteLine("Width and height are " +                         width + " and " + height);    }  }    class Triangle : Shape {    string style; // private        // A default constructor.    public Triangle() {      style = "null";    }      // Constructor for Triangle.    public Triangle(string s, double w, double h) : base(w, h) {      style = s;     }      // Construct an isosceles triangle.    public Triangle(double x) : base(x) {      style = "isosceles";     }      // Construct an object from an object.    public Triangle(Triangle ob) : base(ob) {      style = ob.style;    }      // Return area of triangle.    public double area() {      return width * height / 2;    }      // Display a triangle's style.    public void showStyle() {      Console.WriteLine("Triangle is " + style);    }  }    class MainClass {    public static void Main() {      Triangle t1 = new Triangle("right", 8.0, 12.0);        // make a copy of t1      Triangle t2 = new Triangle(t1);        Console.WriteLine("Info for t1: ");      t1.showStyle();      t1.showDim();      Console.WriteLine("Area is " + t1.area());        Console.WriteLine();        Console.WriteLine("Info for t2: ");      t2.showStyle();      t2.showDim();      Console.WriteLine("Area is " + t2.area());    }  } Info for t1: Triangle is right Width and height are 8 and 12 Area is 48 Info for t2: Triangle is right Width and height are 8 and 12 Area is 48