~MyObject4() { print_destroyed(this); }
~B() { print_destroyed(this); }
virtual ~MyObject3() { print_destroyed(this); }
~Matrix() { print_destroyed(this, std::to_string(m_rows) + "x" + std::to_string(m_cols) + " matrix"); delete[] m_data; }
~TypeForMoveOnlyHolderWithAddressOf() { print_destroyed(this); }
~ReturnTester() { print_destroyed(this); }
~NoConstructor() { print_destroyed(this); }
~ExampleMandA() { print_destroyed(this); }