static void Main(string[] args) { Circle c = new Circle(new Point(5, 5), 50.5); Rectangle r = new Rectangle(new Point(1, 2), new Point(3, 4), new Point(5, 6), new Point(7, 8)); Point p = new Point(9, 10); ShapeHolder shapeHolder = new ShapeHolder(); shapeHolder.add(c); shapeHolder.add(r); shapeHolder.add(p); Console.WriteLine(c); Console.WriteLine(r); Console.WriteLine(p); DoStuffWithCircle((Circle)c.clone(), (Rectangle)r.clone(), (Point)p.clone()); Console.WriteLine(c); Console.WriteLine(r); Console.WriteLine(p); }
static void Main(string[] args) { Shape s = new Circle(new Point(5, 5), 50.5); ShapeHolder sh = new ShapeHolder(); sh.add(s); sh.toString(); DoStuffWithCircle((Circle)(s.clone())); sh.toString(); }