Machine-translated by Google. Questions are authored in English.
Top

Discussion

The copy constructor must receive its arguments by :

  • A.Only pass by reference
  • B.Only pass by address
  • C.Only pass by value
  • D.either pass by value or pass by reference

Answer: A

The copy constructor must receive its argument only by reference.

A copy constructor has the form X(const X& other). If the argument were passed by value, calling the copy constructor would require making a copy of the argument, which would call the copy constructor again, recursing without end. C++ therefore forbids a copy constructor that takes its own class by value.

Passing by address (a pointer) gives an ordinary constructor, not a copy constructor, so 'only by address', 'only by value' and 'either by value or by reference' are all wrong.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.