Copy constructor will be called whenever the compiler __________

copy-constructor-will-be-called-whenever-the-compiler

Copy constructor will be called whenever the compiler __________

A. Generates implicit code

B. Generates member function calls

C. Generates temporary object

D. Generates object operations

The question was asked in homework.

My doubt stems from Copy Constructor in chapter Constructors and Destructors of Object Oriented Programming

Correct option is C. Generates temporary object

To explain: Whenever the compiler creates a temporary object, copy constructor is used to copy the values from existing object to the temporary object.