Tìm kiếm

SỬ DỤNG DESTRUCTOR (Hàm hủy ~)

/* ------------------ ~ name.class(); -------------------*/

Một destructor là một hàm thành viên đặc biệt của một lớp. Tên của destructor đối với một lớp là ký tự ngã (~) theo sau bởi tên lớp.
Destructor của một lớp được gọi khi đối tượng được hủy bỏ nghĩa là khi sự thực hiện chương trình rời khỏi phạm vi mà trong đó đối tượng của lớp đó được khởi tạo. Destructor không thực sự hủy bỏ đối tượng – nó thực hiện "công việc nội trợ kết thúc" trước khi hệ thống phục hồi không gian bộ nhớ của đối tượng để nó có thể được sử dụng giữ các đối tượng mới.
Một destructor không nhận các tham số và không trả về giá trị. Một lớp chỉ có duy nhất một destructor – đa năng hóa destructor là không cho phép.
Nếu trong một lớp không có định nghĩa một destructor thì trình biên dịch sẽ tạo một destructor mặc định không làm gì cả.
Ví dụ 3.8: Lớp có hàm destructor

1: #include <iostream.h>
2:
3: class Simple
4: {
5: private:
6: int *X;
7: public:
8: Simple(); //Constructor
9: ~Simple(); //Destructor
10: void SetValue(int V);
11: int GetValue();
12: };
13:
14: Simple::Simple()
15: {
16: X = new int; //Cấp phát vùng nhớ cho X
17: }
18:
19: Simple::~Simple()
20: {
21: delete X; //Giải phóng vùng nhớ khi đối tượng bị hủy bỏ.
22: }
23:
24: void Simple::SetValue(int V)
25: {
26: *X = V;
27: }
28:
29: int Simple::GetValue()
30: {
31: return *X;
32: }
33:
34: int main()
35: {
36: Simple S;
37: int X;
38:
39: cout<<"Enter a number:";
40: cin>>X;
41: S.SetValue(X);
42: cout<<"The value of this number:"<<S.GetValue();
43: return 0;
44: } 

Chúng ta chạy ví dụ 3.8, kết quả ở hình 3.8





Read Users' Comments (0)

0 Response to "SỬ DỤNG DESTRUCTOR (Hàm hủy ~)"

Đăng nhận xét

Support

Liên hệ DMTuan-Uneti
Mọi thông tin góp ý các bạn liên hệ với mình ! Mail:
  1. manhtuan.leo@gmail.com
  2. manhtuan.itvp@gmail.com

Y!M: manhtuan.it92