01/10/2018, 10:40
Tạo toán tử [ ]
Giả sử:
struct A{
int n;
A *nxt;
};
Em xin code: operator[ ] với, em cảm ơn nhiều!
Ví dụ có DSLK={3,4,5,6}, với:
int Var = DSLK[2].n;
thì giá trị của Var là 5.
Bài liên quan
à, em xin lỗi, yêu cầu sai à, em xin phép sửa!
ý bạn là nạp chồng toán tử lấy phần tử [n] trong mảng mà con trỏ nxt trỏ đến hả?
Đầu tiên bạn phải xác định nó có nghĩa là gì đã, vì bạn chỉ dùng node thôi chứ không dùng danh sách đầy đủ.
Ý của em là sau khi tạo 1 danh sách liên kết, em muốn nạp chồng toán tử để truy cập vào node đó.
Ví dụ truy cập vào node đầu của danh sách liên kết thì em chỉ cần thêm [0] vào sau danh sách đó như phần ví dụ ở trên, giống như string hay vector.
struct DSLK
gồmpHead
,pTail
) củastruct A
struct DSLK
, nạp chồng[]
tham biếnint x
(tìmNode A
vị tríx
củaDSLK
)2.1 Trong toán tử hàm nạp chồng
[]
, tạo con trỏA *current = DSLK->pHead;
2.2 Tạo vòng for chạy từ
i
đếnx
2.3 Gán con trỏ current tới
current.nxt
2.4
return current
Em xin code được không ạ? Em dùng VS thì nó không cho phép nạp [ ] tuy nhiên khi thử với + thì nó lại được, em cũng không biết vì sao!
Hàm nạp chồng bạn viết như thế nào mà không được?
Bạn đưa code bạn lên đây mọi người sẽ giúp bạn xem lỗi.
Hỏi bài chắc không ai làm hộ bạn đâu
Nó gạch chân đỏ
Bạn áp dụng câu này của mình là nó nhận,
Toán tử [] nó chỉ nhận tham biến với kiểu dữ liệu int thôi bạn nhé.
http://en.cppreference.com/w/cpp/language/operators#Array_subscript_operator
Viết đúng nhất là dùng (const) reference.