What is a copy constructor?
A copy constructor is a member function which initializes an object using another object of the same class. A copy constructor has the following general function prototype:
A copy constructor is a member function which initializes an object using another object of the same class. A copy constructor has the following general function prototype:
ClassName (const ClassName &old_obj);
Following is a simple example of copy constructor.#include<iostream>using namespace
std;class Point{private: int x, y;public: Point(int x1, int
y1) { x = x1; y = y1; } //
Copy constructor Point(const Point &p2)
{x = p2.x; y = p2.y; } int getX()
{ return x; } int getY()
{ return y; }};int main(){ Point
p1(10, 15); // Normal constructor is called here Point
p2 = p1; // Copy constructor is called here //
Let us access values assigned by constructors cout
<< "p1.x = " <<
p1.getX() << ", p1.y = " <<
p1.getY(); cout
<< "\np2.x = " <<
p2.getX() << ", p2.y = " <<
p2.getY(); return 0;
Output:
p1.x = 10, p1.y = 15
p2.x = 10, p2.y = 15