Các hàm hủy trong C ++ là các hàm thành viên trong một lớp xóa một đối tượng. Chúng được gọi khi đối tượng lớp vượt ra khỏi phạm vi, chẳng hạn như khi hàm kết thúc, chương trình kết thúc, một biến xóa được gọi là v.v.
Hàm hủy khác với các hàm thành viên bình thường vì chúng không nhận bất kỳ đối số nào và không trả về bất kỳ thứ gì. Ngoài ra, hàm hủy có cùng tên với lớp của chúng và tên của chúng được đặt trước dấu ngã (~).
Một chương trình trình bày hàm hủy trong C ++ được đưa ra như sau.
Ví dụ
#include<iostream> using namespace std; class Demo { private: int num1, num2; public: Demo(int n1, int n2) { cout<<"Inside Constructor"<<endl; num1 = n1; num2 = n2; } void display() { cout<<"num1 = "<< num1 <<endl; cout<<"num2 = "<< num2 <<endl; } ~Demo() { cout<<"Inside Destructor"; } }; int main() { Demo obj1(10, 20); obj1.display(); return 0; }
Đầu ra
Inside Constructor num1 = 10 num2 = 20 Inside Destructor
Trong chương trình trên, lớp Demo chứa một phương thức khởi tạo được tham số hóa khởi tạo num1 và num2 với các giá trị được cung cấp bởi n1 và n2. Nó cũng chứa một hàm display () in ra giá trị của num1 và num2. Cũng có một hàm hủy trong Demo được gọi khi phạm vi của đối tượng lớp kết thúc. Đoạn mã cho điều này được đưa ra như sau.
class Demo { private: int num1, num2; public: Demo(int n1, int n2) { cout<<"Inside Constructor"<<endl; num1 = n1; num2 = n2; } void display() { cout<<"num1 = "<< num1 <<endl; cout<<"num2 = "<< num2 <<endl; } ~Demo() { cout<<"Inside Destructor"; } };
Hàm main () chứa định nghĩa đối tượng cho một đối tượng thuộc kiểu lớp Demo. Khi đó hàm display () được gọi. Điều này được hiển thị bên dưới.
Demo obj1(10, 20); obj1.display();