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