Parameterized constructor in C++

What is parameterized constructor ?

Let us learn about parameterized constructor in C++ more, in this article.  In C++ there are three types of constructor namely-

  • Default constructor
  • Parameterized constructor
  • Copy constructor
  •  
parameterized constructor in C++

Benefits of parameterized constructor

  • Parameterized constructor helps in initializing each data member of the class to different values.
  • Parameterized constructor is helpful for constructor overloading.

Parameterized Constructor (Inside Class)

Syntax

class class_name 
{ 
    public: class_name(variables) //Parameterized constructor declared
    { 
        // initialization of variables
    } 
};

Example Code

#include<iostream>
using namespace std; 
  
class PrepInsta 
{ 
private: 
    string name;
    int age;
  
public:
    PrepInsta(string val1, int val2)// Parameterized Constructor 
    { 
        name = val1;
        age = val2;
    } 
    
    string getName(){ 
        return name; 
    }
    int getAge(){ 
        return age; 
    } 
    
};

int main() 
{ 
    // Paramterized Constructor called
    PrepInsta obj("John Snow", 25);
    
    cout << "Name: " << obj.getName() << "\nAge: " << obj.getAge(); 
  
    return 0;
}

Output

Name: John Snow
Age: 25

Parameterized Constructor (Outside Class)

Code

#include<iostream>
using namespace std; 
  
class PrepInsta 
{ 
private: 
    string name;
    int age;
  
public:
    // Parameterized Constructor declaration
    PrepInsta(string name, int age);
    
    string getName(){ 
        return name; 
    }
    int getAge(){ 
        return age; 
    } 
    
};
// declaration outside class
PrepInsta::PrepInsta(string val1, int val2)// Parameterized Constructor 
{ 
        name = val1;
        age = val2;
} 

int main() 
{ 
    // Paramterized Constructor called
    PrepInsta obj("John Snow", 25);
    
    cout << "Name: " << obj.getName() << "\nAge: " << obj.getAge(); 
  
    return 0;
}

Output

Name: John Snow
Age: 25

Syntax

class class_name 
{
//declaration class_name(variables);
}; class_name :: class_name(variables) //Parameterized constructor definition { // initialization of variables }

More Examples for Parameterized Constructor

Example 1

#include<iostream>
using namespace std;

class myClass {
    private:
        int a, b;
    public:
    // parameterized constructor
    myClass (int a1, int b1){
        a = a1;
        b = b1;
    }

    int getA (){
        return a;
    }

    int getB (){
        return b;
    }
};
int main ()
{
    myClass obj1(10, 15);
    
    cout << "obj1.a = " << obj1.getA() << endl;
    cout << "obj1.b = " << obj1.getB() << endl;
    
    return 0;
}

Output

obj1.a = 10
obj1.b = 15

Example 2

#include<iostream>
using namespace std;

class Student {
    public:
    int roll_no;
    string st_name;
    float weight;

    Student (int num, string name, float w){
        roll_no = num;
        st_name = name;
        weight = w;
    }

    void display (){
        cout << roll_no << " " << st_name << " " << weight << endl;
    }
};

int main(void) {
    Student s1 = Student(1, "Karen", 91.1);
    Student s2 = Student(2, "Phils", 67);
    
    s1.display();
    s2.display();
    
    return 0;
}

Output

1 Karen 91.1
2 Phils 67