can anyone explain me what a copy constructor is?

A copy constructor is a constructor of a class which copies the contents of a previously defined object into the new object we are making . It differs from default constructor and parameterized constructor as the default constructor just initialize with no arguments to the constructor and the parameterized one takes input arguments but not an object to assign the values to the new class object .

You might find this link helpful!! copy constructor