Open In App

Output of C++ programs | Set 26 (Constructors)

Improve
Improve
Like Article
Like
Save
Share
Report

Prerequisite – Constructors in C++ 
 

1. What is the output of following program? 
 

CPP




#include <iostream>
using namespace std;
  
class construct
    int a, b;
public
    construct()
    {
        a = 0;
        b = 0;
    }
};
  
int main()
{
    construct c;
    cout<< "a: "<< c.a << endl << "b: "<< c.b;
    return 1;
}


Output: 
 

error
  

Description: The variables in the class are by default private in C++. And therefore, they cannot be accessed out side the class. For the code, to work perfectly they need to be declared as public like the construct() then it will print a and b as 0
 

2. What is the output of following program? 
 

CPP




#include <iostream>
using namespace std;
  
class construct
  
public:
    float area;     
          
    construct()
    {
        area = 0;
    }
      
    construct(int a, int b)
    {
        area = a * b;
    }
      
    void disp()
    {
        cout<< area<< endl;
    }
};
  
int main()
{
    construct o;
    construct o2( 10, 20);
    o.disp();
    o2.disp();
    return 1;
}


Output: 
 

  0
  200

Description: C++ allows more than one constructor. The other constructors must have different parameters. Additionally, constructors which contain parameters are given default values must adhere to the restriction that not all parameters are given a default value. This is a situation which only matters if there is a default constructor.The constructors get loaded when an object is created based on the parameters. 
 

3. Which constructor will be executed? 
 

CPP




#include<iostream>
using namespace std;
   
class constructor
{
    int x, y; 
    public:
    constructor(int a = 10, int b = 20 )
    {
        x = a; 
        y = b;
    }
    void Display()
    {
        cout<< x << " " << y << endl;
    
};
int main()
{
    constructor objBix; 
    objBix.Display(); 
    return 0;
}


Output: 
 

Parameterized constructor (Output will be 10 20)

Description: When we declare any constructor in a class, compiler doesn’t create the default constructor. The same thing happens in this case but as parameterized constructor contains default values for all the arguments, it will be called. But if you declare default constructor here, compiler will give error (ambiguous call) as it will not be able to decide which constructor to call. 
 

4. What is the output of following program? 
 

CPP




#include<iostream.h> 
class constructor
{
    int x; 
    public:
    constructor(short ss)
    {
        cout<< "Short" << endl;
    }
    constructor(int xx)
    {
        cout<< "Int" << endl;
    }
    constructor(float ff)
    {
        cout<< "Float" << endl;
    }
};
int main()
{
    constructor c('B');
    return 0; 
}


Output: 
 

Int
  

Description: As ‘B’ gives the integer value i.e, 66. so, the parameterized constructor with integer parameter will be executed. 
 

5. What is the output of following program? 
 

CPP




#include <iostream>
using namespace std;
  
class constructor 
{
    int a;
  public:
    constructor(int x)
    {
        a = x;
    }
      
    void display()
    {
        cout<< "a: "<<a << endl;
    }
};
int main()
{  
   constructor c1(10);
   constructor c2 = c1;
   c1.display();
   c2.display();
   return 1;
}


Output: 
 

a: 10
a: 10
  

Description: This program demonstrates copy constructor concept. 
 

This article is contributed by I.HARISH KUMAR.

 



Last Updated : 14 Sep, 2023
Like Article
Save Article
Share your thoughts in the comments
Similar Reads