Copy constructor cannot be used – When an object of the class is returned by value. When an object of the class is passed by values as an argument. When compiler generates temporary objects.