Tôi đã thấy mã trong lớp dẫn xuất gần đây trong đó lập trình viên đặt virtual
trước các hàm được ghi đè. Điều này có phổ biến không? Tôi nghĩ nó rất kỳ quặc và nó khiến tôi mất cảnh giác.Sử dụng 'ảo' trong lớp dẫn xuất
Chỉnh sửa: Tôi không hỏi những gì ảo làm, tôi hỏi lý do tại sao một người nào đó đặt ảo trong lớp dẫn xuất đã ghi đè các hàm ảo trong lớp cơ sở của nó.
EX:
class B {
public:
virtual void foo();
....
};
class D : public B {
public:
virtual void foo(); // could have just put void foo();
...
};
Tôi luôn làm điều này, chỉ để ghi lại mã của mình. –
Đây là điều mà tôi nghĩ C# là tốt hơn, bằng cách buộc các lớp dẫn xuất sử dụng từ khóa 'override'. – dalle
Đây là câu hỏi hoàn hảo, trả lời nhiều câu hỏi của tôi về cách hoạt động của ảo. Thanks @Person –