devxlogo

Copy objects

Copy objects

Question:
Assume that you have a class Distance and two objects dist1 and dist2. You have initialized the object dist1. Now you do:

Distance dist2(dist1) to create a copy of dist1into object dist2.

Have all members of dist1 been copied intodist2? What does not get copied?

Answer:
That depends on if the class has a copy constructor.

If the class has no copy constructor, then C++ will simply copy the memory from one class object to another. In many cases this will work. But what if the object contains a pointer? In this case, the pointer is copied and both classes reference the same memory location. This is probably not what you want, and so you should have a copy constructor to copy data appropriately.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist