Advertisement
TwITe

Untitled

Dec 30th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.67 KB | None | 0 0
  1. #include <iostream>
  2. #include <memory>
  3. using namespace std;
  4.  
  5. class A {
  6. public:
  7.     int* data;
  8.  
  9.     A(int* d) : data(d) {
  10.         try {
  11.             throw runtime_error("err");
  12.         }
  13.         catch (exception e) {}
  14.     }
  15.     ~A() {
  16.         cout << "A's destructor was called" << endl;
  17.         delete[] data;
  18.     }
  19. };
  20.  
  21. class B {
  22. public:
  23.     int* data2;
  24.     A* a;
  25.  
  26.     B() : data2(new int[10]), a(new A(new int[2])) {}
  27.  
  28.     ~B() {
  29.         cout << "B's destructor was called" << endl;
  30.         delete[] data2;
  31.         delete a;
  32.     }
  33. };
  34.  
  35. int main() {
  36.     try {
  37.         B c;
  38.     }
  39.     catch (exception e) {
  40.         cout << "EXCEPTION SUCK";
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement