Điều này có thể đã được hỏi trước trên SO, nhưng tôi không thể tìm thấy một câu hỏi tương tự.Tôi có cần phải chỉ định ảo trên các phương thức lớp con không?
Hãy xem xét các hệ thống phân cấp lớp sau đây:
class BritneySpears
{
public:
virtual ~BritneySpears();
};
class Daughter1 : public BritneySpears
{
public:
virtual ~Daughter1(); // Virtual specifier
};
class Daughter2 : public BritneySpears
{
public:
~Daughter2(); // No virtual specifier
};
Có một sự khác biệt giữa Daughter1
và Daughter2
lớp học?
Hậu quả của việc xác định/không chỉ định virtual
trên phương thức phá hủy/phương thức phụ là gì?
Cảm ơn.
Lưu ý cho người đọc: cũng hãy xem từ khóa ['ghi đè'] (http://stackoverflow.com/questions/13880205/override-in-c11) trong C++ 11 có liên quan chặt chẽ đến chủ đề đó. – ereOn