Miễn là các vấn đề mới đang phát triển từ câu hỏi trước của tôi Overloaded assignment operator causes warning about recursion, tôi đã được yêu cầu hợp pháp để đăng bài này là câu hỏi mới. Tôi có một thành viên lớp tham chiếu trong lớp Player của tôi và tôi muốn triển khai hàm tạo bản sao và toán tử gán (=) của lớp này. Tôi phải đề cập rằng mục đích là hoạt động tốt của hàm vector.erase vì không có nó hoạt động đúng như tôi quan tâm. Tôi sử dụng một vector: vector allPlayers; Các thành viên của lớp Player là:Nhà điều hành chuyển nhượng với thành viên tham chiếu lớp
class Player
{
private:
int ID;
int pMoney;
int doubleIndicator;
int squarePosition;
Bank& bank;
string pName;
Square* capturedSquare;
multimap<string, PropertySquare*> squaresColBought;
multimap<string, House*> housesColBuilt;
}
Có bắt buộc phải tránh sử dụng tham chiếu làm thành viên lớp nếu tôi muốn triển khai toán tử gán? Điều gì về các thành viên bản đồ? Làm thế nào cuối cùng tôi nên thực hiện toán tử gán?
Một vấn đề khác quan trọng nhất mà tôi không biết là điều gì sẽ xảy ra với các đối tượng được chỉ định bởi các thành viên lớp con trỏ khi tôi xóa trình lặp của vectơ giữ Trình phát. Bất kỳ giúp đỡ?
"Một vấn đề khác" => một câu hỏi khác cho người mới bắt đầu :) – xtofl
Bạn muốn nhà điều hành chuyển nhượng làm gì với Ngân hàng? – fredoverflow
FredOverflow: Chỉ cần sao chép ngân hàng vào đối tượng lhs – arjacsoh