Tôi cần kế thừa từ hai giao diện mà cả hai đều có cùng phương thức trong cả hai trường hợp phải thực hiện chính xác cùng một điều. Mã này có chính xác hay không? Tôi cần điều này cho một số loại lớp proxy. Cảm ơn câu trả lời.Giao diện C++ đa thừa kế với cùng phương thức
class InnerInterface {
virtual int getID() const = 0;
//...
};
class OuterInterface {
virtual int getID() const = 0;
//...
};
class Foo : public InnerInterface, public OuterInterface {
virtual int getID() const;
//all abstract methods
};
Phương thức phải là 'virtual', phải không? –
Tất nhiên. Đã sửa. –
Câu hỏi hay - từ tựa đề tôi đã mong đợi một sự thừa kế kim cương đơn giản tốt đẹp (để sử dụng điều thừa kế ảo), nhưng với điều này tôi không chắc chắn. Bạn chắc chắn có thể sử dụng độ phân giải phạm vi để ghi đè lên hai phương pháp kế thừa với cùng một tên riêng biệt, nhưng điều đó có nghĩa là mã trùng lặp, vì vậy điều này là thú vị. – Steve314