Open In App

C++ | Constructors | Question 9

Predict the output of following program.




#include<iostream>
#include<stdlib.h>
using namespace std;
  
class Test
{
public:
   Test()
   { cout << "Constructor called"; }
};
  
int main()
{
    Test *t = (Test *) malloc(sizeof(Test));
    return 0;
}

(A) Constructor called
(B) Empty
(C) Compiler Error
(D) Runtime error

Answer: (B)
Explanation: Unlike new, malloc() doesn’t call constructor (See this)

If we replace malloc() with new, the constructor is called, see this.
Quiz of this Question

Article Tags :