Simple Example Program For Copy Constructor In C++

Constructor Definition

A constructor is a special member function of the class which has the same name as that of the class. It is automatically invoked when we declare/create new objects of the class.

  • A constructor should have the same name as that of the class.
  • It should be a public member.
  • A constructor does not have any return values.
  • A constructor can be overloaded.

for better Understanding,

Copy Constructor:

A copy constructor is a like a normal parameterized Constructor, but which parameter is the same class object.  Copy constructor uses to initialize an object using another object of the same class. 


class class_name {
    class_name(class_name & obj) {
        // obj is same class another object
        // Copy Constructor code 

    //... other Variables & Functions

Syntax: Copy Constructor Declaration In Main Function

// In Main Function
class_name object1(params);

Method 1 - Copy Constrcutor
class_name object2(object1); 

Method 2 - Copy Constrcutor
class_name object3 = object1; 

Copy Constructor Example Program

/*  Example Program For Simple Example Program Of Copy Constructor Overloading In C++
    little drops @

    Coded By:THIYAGARAAJ MP             */


using namespace std;

class Example {
   // Member Variable Declaration
   int a, b;

   //Normal Constructor with Argument

   Example(int x, int y) {
      // Assign Values In Constructor
      a = x;
      b = y;
      cout << "\nIm Constructor";

   //Copy Constructor with Obj Argument

   Example(const Example& obj) {
      // Assign Values In Constructor
      a = obj.a;
      b = obj.b;
      cout << "\nIm Copy Constructor";

   void Display() {
      cout << "\nValues :" << a << "\t" << b;

int main() {
   //Normal Constructor Invoked
   Example Object(10, 20);

   //Copy Constructor Invoked - Method 1
   Example Object2(Object);

   //Copy Constructor Invoked - Method 2
   Example Object3 = Object;

   // Wait For Output Screen
   return 0;

Sample Output

Im Constructor
Im Copy Constructor
Im Copy Constructor
Values :10      20
Values :10      20
Values :10      20