EmSAT Achieve Exam  >  EmSAT Achieve Questions  >  Predict the output?#include<stdlib.h>#i... Start Learning for Free
Predict the output?
#include<stdlib.h>
#include<stdio.h>
#include<iostream>
using namespace std;
class Test {
    int x;
public:
    void* operator new(size_t size);
    void operator delete(void*);
    Test(int i) {
        x = i;
        cout << "Constructor called \\n";
    }
    ~Test() { cout << "Destructor called \\n"; }
};

void* Test::operator new(size_t size)
{
    void *storage = malloc(size);
    cout << "new called \\n";
    return storage;
}
void Test::operator delete(void *p )
{
    cout<<"delete called \\n";
    free(p);
}
int main()
{
    Test *m = new Test(5);
    delete m;
    return 0;
}
  • a)
    new called
    Constructor called
    delete called
    Destructor called
  • b)
    new called
    Constructor called
    Destructor called
    delete called
  • c)
    Constructor called
    new called
    Destructor called
    delete called
  • d)
    Constructor called
    new called
    delete called
    Destructor called
Correct answer is option 'B'. Can you explain this answer?
Most Upvoted Answer
Predict the output?#include<stdlib.h>#include<stdio.h>#inc...
Consider the following statement
    Test *ptr = new Test;  
There are actually two things that happen in the above statement--memory allocation and object construction; the new keyword is responsible for both. One step in the process is to call operator new in order to allocate memory; the other step is to actually invoke the constructor. Operator new only allows us to change the memory allocation method, but does not do anything with the constructor calling method. Keyword new is responsible for calling the constructor, not operator new.
Explore Courses for EmSAT Achieve exam

Top Courses for EmSAT Achieve

Question Description
Predict the output?#include<stdlib.h>#include<stdio.h>#include<iostream>using namespace std;class Test { int x;public: void* operator new(size_t size); void operator delete(void*); Test(int i) { x = i; cout << "Constructor called \\n"; } ~Test() { cout << "Destructor called \\n"; }};void* Test::operator new(size_t size){ void *storage = malloc(size); cout << "new called \\n"; return storage;}void Test::operator delete(void *p ){ cout<<"delete called \\n"; free(p);}int main(){ Test *m = new Test(5); delete m; return 0;}a)new calledConstructor calleddelete calledDestructor calledb)new calledConstructor calledDestructor calleddelete calledc)Constructor callednew calledDestructor calleddelete calledd)Constructor callednew calleddelete calledDestructor calledCorrect answer is option 'B'. Can you explain this answer? for EmSAT Achieve 2025 is part of EmSAT Achieve preparation. The Question and answers have been prepared according to the EmSAT Achieve exam syllabus. Information about Predict the output?#include<stdlib.h>#include<stdio.h>#include<iostream>using namespace std;class Test { int x;public: void* operator new(size_t size); void operator delete(void*); Test(int i) { x = i; cout << "Constructor called \\n"; } ~Test() { cout << "Destructor called \\n"; }};void* Test::operator new(size_t size){ void *storage = malloc(size); cout << "new called \\n"; return storage;}void Test::operator delete(void *p ){ cout<<"delete called \\n"; free(p);}int main(){ Test *m = new Test(5); delete m; return 0;}a)new calledConstructor calleddelete calledDestructor calledb)new calledConstructor calledDestructor calleddelete calledc)Constructor callednew calledDestructor calleddelete calledd)Constructor callednew calleddelete calledDestructor calledCorrect answer is option 'B'. Can you explain this answer? covers all topics & solutions for EmSAT Achieve 2025 Exam. Find important definitions, questions, meanings, examples, exercises and tests below for Predict the output?#include<stdlib.h>#include<stdio.h>#include<iostream>using namespace std;class Test { int x;public: void* operator new(size_t size); void operator delete(void*); Test(int i) { x = i; cout << "Constructor called \\n"; } ~Test() { cout << "Destructor called \\n"; }};void* Test::operator new(size_t size){ void *storage = malloc(size); cout << "new called \\n"; return storage;}void Test::operator delete(void *p ){ cout<<"delete called \\n"; free(p);}int main(){ Test *m = new Test(5); delete m; return 0;}a)new calledConstructor calleddelete calledDestructor calledb)new calledConstructor calledDestructor calleddelete calledc)Constructor callednew calledDestructor calleddelete calledd)Constructor callednew calleddelete calledDestructor calledCorrect answer is option 'B'. Can you explain this answer?.
Solutions for Predict the output?#include<stdlib.h>#include<stdio.h>#include<iostream>using namespace std;class Test { int x;public: void* operator new(size_t size); void operator delete(void*); Test(int i) { x = i; cout << "Constructor called \\n"; } ~Test() { cout << "Destructor called \\n"; }};void* Test::operator new(size_t size){ void *storage = malloc(size); cout << "new called \\n"; return storage;}void Test::operator delete(void *p ){ cout<<"delete called \\n"; free(p);}int main(){ Test *m = new Test(5); delete m; return 0;}a)new calledConstructor calleddelete calledDestructor calledb)new calledConstructor calledDestructor calleddelete calledc)Constructor callednew calledDestructor calleddelete calledd)Constructor callednew calleddelete calledDestructor calledCorrect answer is option 'B'. Can you explain this answer? in English & in Hindi are available as part of our courses for EmSAT Achieve. Download more important topics, notes, lectures and mock test series for EmSAT Achieve Exam by signing up for free.
Here you can find the meaning of Predict the output?#include<stdlib.h>#include<stdio.h>#include<iostream>using namespace std;class Test { int x;public: void* operator new(size_t size); void operator delete(void*); Test(int i) { x = i; cout << "Constructor called \\n"; } ~Test() { cout << "Destructor called \\n"; }};void* Test::operator new(size_t size){ void *storage = malloc(size); cout << "new called \\n"; return storage;}void Test::operator delete(void *p ){ cout<<"delete called \\n"; free(p);}int main(){ Test *m = new Test(5); delete m; return 0;}a)new calledConstructor calleddelete calledDestructor calledb)new calledConstructor calledDestructor calleddelete calledc)Constructor callednew calledDestructor calleddelete calledd)Constructor callednew calleddelete calledDestructor calledCorrect answer is option 'B'. Can you explain this answer? defined & explained in the simplest way possible. Besides giving the explanation of Predict the output?#include<stdlib.h>#include<stdio.h>#include<iostream>using namespace std;class Test { int x;public: void* operator new(size_t size); void operator delete(void*); Test(int i) { x = i; cout << "Constructor called \\n"; } ~Test() { cout << "Destructor called \\n"; }};void* Test::operator new(size_t size){ void *storage = malloc(size); cout << "new called \\n"; return storage;}void Test::operator delete(void *p ){ cout<<"delete called \\n"; free(p);}int main(){ Test *m = new Test(5); delete m; return 0;}a)new calledConstructor calleddelete calledDestructor calledb)new calledConstructor calledDestructor calleddelete calledc)Constructor callednew calledDestructor calleddelete calledd)Constructor callednew calleddelete calledDestructor calledCorrect answer is option 'B'. Can you explain this answer?, a detailed solution for Predict the output?#include<stdlib.h>#include<stdio.h>#include<iostream>using namespace std;class Test { int x;public: void* operator new(size_t size); void operator delete(void*); Test(int i) { x = i; cout << "Constructor called \\n"; } ~Test() { cout << "Destructor called \\n"; }};void* Test::operator new(size_t size){ void *storage = malloc(size); cout << "new called \\n"; return storage;}void Test::operator delete(void *p ){ cout<<"delete called \\n"; free(p);}int main(){ Test *m = new Test(5); delete m; return 0;}a)new calledConstructor calleddelete calledDestructor calledb)new calledConstructor calledDestructor calleddelete calledc)Constructor callednew calledDestructor calleddelete calledd)Constructor callednew calleddelete calledDestructor calledCorrect answer is option 'B'. Can you explain this answer? has been provided alongside types of Predict the output?#include<stdlib.h>#include<stdio.h>#include<iostream>using namespace std;class Test { int x;public: void* operator new(size_t size); void operator delete(void*); Test(int i) { x = i; cout << "Constructor called \\n"; } ~Test() { cout << "Destructor called \\n"; }};void* Test::operator new(size_t size){ void *storage = malloc(size); cout << "new called \\n"; return storage;}void Test::operator delete(void *p ){ cout<<"delete called \\n"; free(p);}int main(){ Test *m = new Test(5); delete m; return 0;}a)new calledConstructor calleddelete calledDestructor calledb)new calledConstructor calledDestructor calleddelete calledc)Constructor callednew calledDestructor calleddelete calledd)Constructor callednew calleddelete calledDestructor calledCorrect answer is option 'B'. Can you explain this answer? theory, EduRev gives you an ample number of questions to practice Predict the output?#include<stdlib.h>#include<stdio.h>#include<iostream>using namespace std;class Test { int x;public: void* operator new(size_t size); void operator delete(void*); Test(int i) { x = i; cout << "Constructor called \\n"; } ~Test() { cout << "Destructor called \\n"; }};void* Test::operator new(size_t size){ void *storage = malloc(size); cout << "new called \\n"; return storage;}void Test::operator delete(void *p ){ cout<<"delete called \\n"; free(p);}int main(){ Test *m = new Test(5); delete m; return 0;}a)new calledConstructor calleddelete calledDestructor calledb)new calledConstructor calledDestructor calleddelete calledc)Constructor callednew calledDestructor calleddelete calledd)Constructor callednew calleddelete calledDestructor calledCorrect answer is option 'B'. Can you explain this answer? tests, examples and also practice EmSAT Achieve tests.
Explore Courses for EmSAT Achieve exam

Top Courses for EmSAT Achieve

Explore Courses
Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev