Tôi có một lớp trừu tượng với một vài chức năng ảo tinh khiết, và một trong những lớp học tôi rút ra từ nó không sử dụng một trong những chức năng ảo tinh khiết:Có cách nào để "xóa" một chức năng ảo thuần túy không?
class derivative: public base
{
public:
int somevariable;
void somefunction();
};
anyways, khi tôi cố gắng để biên dịch nó, tôi nhận được một lỗi (rõ ràng, một lớp vẫn được coi là trừu tượng nếu lấy được từ một lớp trừu tượng và không ghi đè tất cả các hàm ảo thuần túy). Dù sao, có vẻ như vô nghĩa để xác định một hàm
int purevirtfunc(){return 0;}
chỉ vì nó cần được xác định thông qua kỹ thuật. Có cách nào để lấy được một lớp từ một lớp trừu tượng và không sử dụng một trong các hàm ảo thuần túy của lớp trừu tượng không?
Nếu có cách nào, bạn mong đợi điều gì sẽ xảy ra nếu mã được gọi là một trong những phương pháp chưa được thực hiện đó? – Aardvark