1. Hàm hủy bỏ của lớp dẫn xuất
Khi đối tượng lớp dẫn xuất được giải phóng, thứ tự gọi là:
- Hàm hủy bỏ lớp dẫn xuất gọi trước
- Hàm hủy bỏ lớp cơ sở gọi sau
2. Cú pháp:
<Tên lớp>::~<Tên lớp>([các tham số]){
…//giải phóng phần bộ nhớ cấp phát cho các thuộc tính bổ sung
}
3. Ví dụ:
Cài đặt lớp Bus kế thừa từ lớp Car. Lớp Car có 1 thuộc tính dạng con trỏ nên cần giải phóng bằng hàm hủy bỏ tường minh.
Lớp Bus có thêm 1 thuộc tính dạng con trỏ là danh sách các đường phố mà xe buýt đã đi qua nên cũng cần giải phóng bằng hàm hủy bỏ tường minh.
//Định nghĩa lớp Car
class Car{
private:
char *mark; //nhãn hiệu xe
public:
~Car(); //Hủy bỏ tường minh
};
Car::~Car(){
delete []mark;
}
//Định nghĩa lớp Bus
class Bus:public Car{
private:
char *v[]; //Hành trình chuyến xe
public:
~Bus(); //Hủy bỏ tường minh
};
Bus::~Bus(){
delete []v;
}
» Tin mới nhất:
» Các tin khác: