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());
    }
}
 
     
     
     
    