Computer >> Máy Tính >  >> Lập trình >> C ++

Xử lý ngoại lệ và hủy đối tượng trong C ++

Các hàm hủy trong C ++ về cơ bản được gọi khi các đối tượng sẽ bị phá hủy và giải phóng bộ nhớ khỏi hệ thống. Khi một ngoại lệ được đưa ra trong lớp, hàm hủy được gọi tự động trước khi khối bắt được thực thi.

Thuật toán

Begin
   Declare a class sample1.
      Declare a constructor of sample1.
         Print “Construct an Object of sample1”
      Declare a destructor of sample1.
         Print “Destruct an Object of sample1”
   Declare a class sample.
      Declare a constructor of sample2.
         Declare variable i of the integer datatype.
         Initialize i = 7.
         Print “Construct an Object of sample1”.
         Throw i.
      Declare a destructor of sample2.
         Print “Destruct an Object of sample2”
   Try:
      Declare an object s1 of class sample1.
      Declare an object s2 of class sample2.
   Ctach(int i)
      Print “Caught”.
      Print the value of variable i.
End.

Mã mẫu

#include <iostream>
using namespace std;
class Sample1 {
   public:
      Sample1() {
         cout << "Construct an Object of sample1" << endl;
      }
      ~Sample1() {
         cout << "Destruct an Object of sample1" << endl;
      }
};
class Sample2 {
   public:
      Sample2() {
         int i =7;
         cout << "Construct an Object of sample2" << endl;
         throw i;
      }
      ~Sample2() {
         cout << "Destruct an Object of sample2" << endl;
      }
};
int main() {
   try {
      Sample1 s1;
      Sample2 s2;
   } catch(int i) {
      cout << "Caught " << i << endl;
   }
}

Đầu ra

Construct an Object of sample1
Construct an Object of sample2
Destruct an Object of sample1
Caught 7