Default constructor are the ones that are called when no constructor is defined by programmer but one can define a default constructor. It is basically used to set default values to data members. While Copy constructor is used to copy values of one object to other object.