Tôi đến từ thế giới Java và đang xây dựng một chương trình C++ nhỏ vào lúc này. Tôi có một đối tượng thực hiện một số công việc và sau đó trả về kết quả của công việc dưới dạng danh sách.Giao diện/Siêu lớp cho Bộ sưu tập/Thùng chứa trong c + +
Bây giờ một ngày sau đó, tôi đã thay đổi hành vi của đối tượng để lưu kết quả trong tập hợp để tránh trùng lặp trong vùng chứa. Nhưng tôi không thể trả lại đơn giản vì tôi đã sử dụng danh sách cho giao diện lần đầu tiên. Có giao diện vùng chứa chung nào mà tôi có thể sử dụng để chỉ định giao diện của đối tượng của mình và quên loại vùng chứa mà tôi sử dụng trong nội bộ không?
Hiện nay tôi là tạo ra một tập hợp thêm tất cả các giá trị và sau đó tạo ra một danh sách từ tập:
return std::list<foo>(this->mySet.begin(), this->mySet.end())
Có vẻ hơi lạ.
Nếu bạn trả về const_iterators. Sau đó, tạo các phương thức const() và end() const. –
Yep - Đã chỉnh sửa – Dario