fork download
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #include<iostream>
  4.  
  5. using namespace std;
  6.  
  7. class Test {
  8. int x;
  9. public:
  10. void* operator new(size_t size);
  11. void operator delete(void*);
  12. Test(int i) {
  13. x = i;
  14. cout << "Constructor called \\n";
  15. }
  16. ~Test() { cout << "Destructor called \\n"; }
  17. };
  18.  
  19.  
  20. void* Test::operator new(size_t size)
  21. {
  22. void *storage = malloc(size);
  23. cout << "new called \\n";
  24. return storage;
  25. }
  26.  
  27. void Test::operator delete(void *p )
  28. {
  29. cout<<"delete called \\n";
  30. free(p);
  31. }
  32.  
  33. int main()
  34. {
  35. Test *m = new Test(5);
  36. delete m;
  37. return 0;
  38. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
new called \nConstructor called \nDestructor called \ndelete called \n