Tôi có thể hiểu rằng có thể có lý do để tuyên bố một chức năng ảo được thực thi (trái ngược với thuần túy) riêng tư hoặc được bảo vệ. Ví dụ, nếu bạn khai báo một phương thức ảo được thực hiện như được bảo vệ, lớp con của bạn có thể gọi phương thức của lớp cơ sở (và không ai khác có thể). Nếu bạn khai báo nó riêng tư, hơn là chỉ có lớp cơ sở có thể gọi thực hiện mặc định của phương thức ảo.Có sự khác biệt nào giữa chức năng ảo thuần túy được bảo vệ và riêng tư không?
Tuy nhiên, với ảo thuần túy, không có triển khai cơ sở ... Vì vậy, nó không phải là chức năng tương đương với tuyên bố một ảo thuần túy là riêng tư hoặc được bảo vệ? Một ảo tinh khiết được bảo vệ không có ý nghĩa bởi vì bạn không bao giờ có thể gọi phương thức tương ứng của lớp cơ sở. Có bất kỳ tình huống nào mà một ảo thuần túy được bảo vệ có ý nghĩa gì không?
Có một vài chủ đề tương tự về SO, nhưng tôi không thể tìm thấy bất kỳ điều gì trả lời ngắn gọn câu hỏi của tôi.
Bạn có thể triển khai 'friend' cho giao diện. – Matthew
Phương pháp ảo thuần túy có thể có phần thân và nó có thể được gọi rõ ràng như base :: foo(). – iammilind