fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Object {
  5. public:
  6. Object(int i) {
  7. id = i;
  8. count++;
  9. cout<<"Object "<<id<<" is created, we've got "<<count<<" object(s) now!"<<endl;
  10. }
  11. ~Object() {
  12. count--;
  13. cout<<"Object "<<id<<" is deleted, we've got "<<count<<" object(s) now!"<<endl;
  14. }
  15. private:
  16. int id;
  17. static int count;
  18. };
  19.  
  20. int Object::count = 0;
  21.  
  22. void TestObjects()
  23. {
  24. Object *obj1 = new Object(1);
  25. Object *obj2 = new Object(2);
  26. Object *obj3 = new Object(3);
  27.  
  28. delete obj3;
  29. delete obj2;
  30.  
  31. Object *obj4 = new Object(4);
  32. delete obj4;
  33.  
  34. delete obj1;
  35. }
  36.  
  37. int main()
  38. {
  39. TestObjects();
  40. return 0;
  41. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Object 1 is created, we've got 1 object(s) now!
Object 2 is created, we've got 2 object(s) now!
Object 3 is created, we've got 3 object(s) now!
Object 3 is deleted, we've got 2 object(s) now!
Object 2 is deleted, we've got 1 object(s) now!
Object 4 is created, we've got 2 object(s) now!
Object 4 is deleted, we've got 1 object(s) now!
Object 1 is deleted, we've got 0 object(s) now!