Actually i didn't understand the concept of it, meaning that why and when it should be employed. Usually, we can assign values to an instance of a class but why we should send an object to another object like this :
private void button8_Click(object sender, EventArgs e) { rectangle r1 = new rectangle(50, 70); rectangle r2 = new rectangle(r1); } class rectangle { private int length; private int breadth; public rectangle(rectangle x) { length = x.length; breadth = x.breadth; MessageBox.Show("I'm a Copy Constructor. \n Length= " + length.ToString() + "\n breadth= " + breadth.ToString()); } }