Q:

Set values of data members using default, parameterized and copy constructor in C++

0

Create a class and set values to the private data members using a default, parameterized and copy constructor in C++.

This is an example of C++ constructors, here we have a class named person and private data members name and age. In this example, we will set values to name and age through the default, parameterized and copy constructors.

Here, we will create three objects p1p2 and p3p1 will be initialized with a default constructor, p2 will be initialized with a parameterized constructor and p3 will be initialized with the copy constructor.

 

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Program:

#include <iostream>
#include <string.h>
using namespace std;

class person{
	private:
		char name[30];
		int age;
	
	public:
		//default constructor
		person(){
			strcpy(name,"None");
			age = 0;
		}
		//parameterized constructor
		person(char n[], int a){
			strcpy(name, n);
			age = a;
		}
		//copy constructor
		person(person &p){
			strcpy(name, p.name);
			age =p.age;
		}
		//function to display person details
		void print(void){
			cout<<name<<" is "<<age<<" years old."<<endl;
		}
};

//Main function
int main(){
	//creating objects
	person p1; //default constructor will be called
	person p2("Amit Shukla",21); //parameterized constructor will be called
	person p3(p2); //copy constructor will be called
	
	//printing
	cout<<"object p1..."<<endl;
	p1.print();
	cout<<"object p2..."<<endl;
	p2.print();	
	cout<<"object p3..."<<endl;
	p3.print();	
	
	return 0;
}

Output

 
object p1...
None is 0 years old.
object p2...
Amit Shukla is 21 years old.
object p3...
Amit Shukla is 21 years old.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

<< Dynamic Initialization of Objects in C++...