Under what circumstances will the copy constructor run? Select all that apply. 1-When the object is declared as a local variable. 2-When the object is passed by value to a function 3-When the object is passed by reference to a function. 4-When the local object is returned from a function 5-When the object being declared is initialized to an object of the same type