Lecture overview -- Keyboard shortcut: 'u'  Previous page: Cloning in C# -- Keyboard shortcut: 'p'  Next page: The fragile base class problem -- Keyboard shortcut: 'n'  Lecture notes - all slides together  Annotated slide -- Keyboard shortcut: 't'  Textbook -- Keyboard shortcut: 'v'  Alphabetic index  Help page about these notes  Course home    Abstract classes, Interfaces, and Patterns - slide 32 : 41

Cloning versus use of copy constructors
Cloning with obj.Clone() is more powerful than use of copy constructors, because obj.Clone() may exploit polymorphism and dynamic binding
Point.cs
A cloneable class Point.
Point.cs
A cloneable class ColorPoint.
Client.cs
Polymorphic Cloning of Points.
AlternativeClient.cs
Non-polymorphic Cloning of Points - with use of copy constructors.
output
Output of both polymorphic and non-polymorphic cloning.