C++ Constructors

Last Updated :
Discuss
Comments

Question 1

When a copy constructor may be called?

  • When an object of the class is returned by value.

  • When an object of the class is passed (to a function) by value as an argument.

  • When an object is constructed based on another object of the same class

  • When compiler generates a temporary object.

  • All of the above

Question 2

Predict output of the following program 

C
#include <stdio.h>
int main()
{
   printf("\new_c_question\b\r");
   printf("geeksforgeeks"); 
   getchar();
   return 0;
}
  • ew_c_question
    geeksforgeeks
     

  • new_c_ques
    geeksforgeeks
     


  • geeksforgeeks
     

  • Depends on terminal configuration

Question 3

Output of following program? 
 

C++
#include <iostream>
using namespace std;

class Point {
    Point() { cout << "Constructor called"; }
};

int main()
{
    Point t1;
    return 0;
}
  • Runtime Error

  • None of these

  • Constructor called

  • Compiler Error

Question 4

Output of following C++ code will be?

C++
#include <iostream>
using namespace std;

class X 
{
public:
    int x;
};

int main()
{
    X a = {10};
    X b = a;
    cout << a.x << " " << b.x;
    return 0;
}
  • Compiler Error

  • 10 followed by Garbage Value

  • 10 10

  • 10 0

Question 5

Predict the output of the following program:

C++
#include <iostream>
using namespace std;

class GfG {
    public:
    int val;
    
    GfG(): val(11) {}
    GfG(int x): val(x) {};
    GfG(const GfG& other): GfG(other.val) {}
};

int main() {
    GfG gfg1(22);
    GfG gfg2(gfg1);
    cout << gfg2.val;
    return 0;
}


  • 0

  • 22

  • Compiler Error

  • 11

Question 6

What is the output of following program? CPP
#include <iostream>
using namespace std;

class Point
{
    int x, y;
public:
   Point(const Point &p) { x = p.x; y = p.y; }
   int getX() { return x; }
   int getY() { return y; }
};

int main()
{
    Point p1;
    Point p2 = p1;
    cout << "x = " << p2.getX() << " y = " << p2.getY();
    return 0;
}
  • x = garbage value y = garbage value

  • x = 0 y = 0

  • Compiler Error

Question 7

Predict the output of the following program:

C++
#include <iostream>
using namespace std;

class GfG {
    public:
    int val;
    
    GfG(int x = 22) {
        this->val = x;
    }
};

int main() {
    GfG gfg;
    cout << gfg.val;
    return 0;
}
  • 0

  • 22

  • Runtime Error

  • Compiler Error

Question 8

Predict the output of the following program?

C++
#include <iostream>
using namespace std;

class GfG {
    GfG() {
        cout << "Constructor Called" << endl;
    }
};

int main() {
    cout << "Main Started" << endl;
    return 0;
}
  • Compiler Error

  • Main Started
    Constructor Called

  • Constructor Called
    Main Started

  • Main Started

Question 9

Implicit return type of a class constructor is:

  • not of class type itself

  • class type itself

  • a destructor of class type

  • a destructor not of class type

Question 10

We must use initializer list in a constructor when

  • There is a reference variable in class

  • There is a constant variable in class

  • There is an object of another class. And the other class doesn't have default constructor.

  • All of the above

There are 25 questions to complete.

Take a part in the ongoing discussion