When copy constructors called?
A: In following cases, Copy constructors are called: (a) while a function returns an object of that class through value
(b) While the object of that class is passed by value as an argument to a function
(c) While you construct an object depend on another object of the same class
(d) while compiler generates a temporary object