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






Practice Tags :

Recommended Posts:



0 Average Difficulty : 0/5.0
No votes yet.