- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Copy Constructor in C++
The copy constructor is a type of constructor. It creates an object and initializes it with an object of the same class. If the copy constructor is not defined in the class, the compiler itself defines one. A copy constructor is a must for a class that has pointer variables or dynamic memory allocations.
A program that demonstrates a copy constructor is as follows.
Example
#include<iostream> using namespace std; class Demo { private: int num1, num2; public: Demo(int n1, int n2) { num1 = n1; num2 = n2; } Demo(const Demo &n) { num1 = n.num1; num2 = n.num2; } void display() { cout<<"num1 = "<< num1 <<endl; cout<<"num2 = "<< num2 <<endl; } }; int main() { Demo obj1(10, 20); Demo obj2 = obj1; obj1.display(); obj2.display(); return 0; }
Output
num1 = 10 num2 = 20 num1 = 10 num2 = 20
In the above program, the class Demo contains a normal parameterized constructor and a copy constructor. In addition to these, there is a function that displays the values of num1 and num2. These are given as follows.
class Demo { private: int num1, num2; public: Demo(int n1, int n2) { num1 = n1; num2 = n2; } Demo(const Demo &n) { num1 = n.num1; num2 = n.num2; } void display() { cout<<"num1 = "<< num1 <<endl; cout<<"num2 = "<< num2 <<endl; } };
In the function main(), the class object obj1 is initialized using a parameterized constructor. The object obj2 is initialized using a copy constructor and the values of obj1 are copied into obj2. Finally the values of obj1 and obj2 are displayed. This is given below.
Demo obj1(10, 20); Demo obj2 = obj1; obj1.display(); obj2.display();
- Related Articles
- Virtual Copy Constructor in C++
- What is a copy constructor in C#?
- When is copy constructor called in C++?
- Copy constructor vs assignment operator in C++
- Java copy constructor
- Difference Between Copy Constructor and Assignment Operator in C++
- Why do we need a copy constructor and when should we use a copy constructor in Java?
- What's the difference between assignment operator and copy constructor in C++?
- Difference between Static Constructor and Instance Constructor in C#
- Constructor Overloading in C#
- Default constructor in C#
- Conversion constructor in C++?
- Virtual Constructor in C++
- Constructor Delegation in C++
- Constructor Overloading in C++
