Tôi đã điều sau đây:tinh khiết chức năng ảo và lập luận không sử dụng trong các chức năng con trong C++
class Parent {
public:
virtual bool foo(vector<string> arg1, vector<string> arg2) = 0;
};
class Child : public Parent {
public:
bool foo(vector<string> arg1, vector<string> arg2);
};
// arg1 and arg2 not used - GIVES WARNING
bool Child::foo(vector<string> arg1, vector<string> arg2) {
return false;
}
Không có thực hiện Chánh của foo (...) bởi vì nó là một hàm ảo thuần túy. Phụ huynh nói rằng foo nhận hai đối số vectơ. Đứa trẻ thực hiện nó một cách chính xác với hai đối số chuỗi nhưng chúng không được sử dụng. BAO GIỜ, một số trẻ em của Phụ huynh S use sử dụng những lý lẽ này để chúng cần luôn luôn ở đó.
Có cách nào tôi có thể sử dụng quá tải để cho phép foo trong lớp Child nhất định không có đối số ngay cả khi cha mẹ nói nó phải không?
Rất cám ơn.
Trừ khi bạn muốn sao chép 'arg1' và' arg2', tốt hơn thông qua các vectơ bằng cách tham chiếu const. – kennytm
Đây không phải là một "vấn đề quá tải" - bạn đang nói về một cảnh báo nhỏ ở đây :-) –
Chỉnh sửa để loại bỏ quá tải trong tiêu đề - đồng ý xin lỗi: -S. – ale