When Copy Constructor is called Copy Constructor is called in the following scenarios: When we initialize the object with another existing object of the same class type . For example, Student s1 = s2, where Student is the class. When the object of the same class type is passed by value as an argument.