title: When do we have to use copy constructors?
body: <p>I know that C++ compiler creates a copy constructor for a class. In which case do we have to write a user-defined copy constructor? Can you give some examples? </p>