What is a "Copy Constructor"?

Answers were Sorted based on User's Feedback



What is a "Copy Constructor"?..

Answer / phool chand

A Copy Constructor constructs a new object as a copy of an existing object of the same type. Frequently copy constructors do a 'deep copy' of the object. X( const X& X_object ){...}; is a copy constructor for class X.

Deep Copy vs. Shallow Copy:

a shallow copy simply copies the contents of an object directly - if the object contains pointers, both the old copy and the new copy contain pointers to the same actual item. In a deep copy, when an object contains a pointer, a new copy of whatever the pointer points AT is created and the new object contains a pointer to the newly created copy of the item.

Why are deep copies important? If you carry out a shallow copy you end up with two pointers to the same item. If that item is an object with a destructor, this generally means you'll end up calling the destructor for that item twice, which will generally cause problems.

Unfortunately, most don't know to ask this question directly: the symptom is generally heap corruption which is hard to track down directly since there it has many possible causes.

Is This Answer Correct ?    0 Yes 0 No

What is a "Copy Constructor"?..

Answer / hrpynux@gmail.com

In the C++ programming language, a copy constructor is a special constructor for creating a new object as a copy of an existing object.

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More C++ General Interview Questions

Which function should be used to free the memory allocated by calloc()?

0 Answers  


What is the main function c++?

0 Answers  


Write about a nested class and mention its use?

0 Answers  


Explain the difference between overloading and overriding?

0 Answers  


What happens if an exception is throws from an object's constructor and from object's destructor?

3 Answers   TCS,






What are the advantages of using a pointer?

0 Answers  


Discuss the possibilities related to the termination of a program before entering the mainq method?

0 Answers  


They will ask u question about single linked list?. Write Code for to insert delete node.

2 Answers   Persistent,


Can we use this pointer in a class specific, operator-overloading function for new operator?

0 Answers  


Explain shallow copy?

0 Answers  


Discussion on error handling of C++ .

0 Answers  


why is iostream::eof inside a loop condition considered wrong?

0 Answers  


Categories