Có ai nhận thức được một tính năng hoặc kỹ thuật ngôn ngữ trong C++ để ngăn chặn một lớp con từ trên một phương pháp cụ thể trong lớp cha mẹ?Có cách nào để ngăn chặn một phương thức bị ghi đè trong các lớp con không?
class Base {
public:
bool someGuaranteedResult() { return true; }
};
class Child : public Base {
public:
bool someGuaranteedResult() { return false; /* Haha I broke things! */ }
};
Mặc dù nó không phải là ảo, đây vẫn được phép (ít nhất là trong các trình biên dịch Metrowerks Tôi đang sử dụng), tất cả các bạn nhận được là một thời gian biên dịch cảnh báo về ẩn phi ảo chức năng thừa hưởng X.
nhưng sau đó chúng tôi không thể gọi phương thức đó từ các lớp khác. ? – anshulkatta
Lưu ý rằng có một thông số 'final' được thêm vào với C++ 11: http://stackoverflow.com/a/16906116/1025391 – moooeeeep