What are Copy Constructors?
Copy Constructors are constructors used to create the object of a class with another object of the class itself. If a copy constructor is not defined, the compiler generates a copy constructor that does a memeberwise copy of the class. The default copy constructor does a byte to bye copy of the class.