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

Prerequisite – Constructors in C++

  1. What is the output of following program?
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    #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;
    }

    chevron_right

    
    

    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?
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    #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;
    }

    chevron_right

    
    

    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?
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    #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;
    }

    chevron_right

    
    

    Output:

     default constructor
      

    Description: Here, a parameterised constructor is declared but the object corresponding to that constructor is not created. Therefore, only Default constructor is executed and the control is passed to the function at the function call.

  4. What is the output of following program?
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    #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; 
    }

    chevron_right

    
    

    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?
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    #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;
    }

    chevron_right

    
    

    Output:

    a: 10
    a: 10
      

    Description: This program demonstrates copy constructor concept.

This article is contributed by I.HARISH KUMAR. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up


Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.