Tôi muốn sử dụng một lớp trong C++ có một mảng số nguyên như thế này:dùng getter, setter trong C++
class A{
private:
int arr[50];
}
Tôi sẽ đọc một cái gì đó từ tập tin văn bản như thế này:
sum i1 i2
Đó có nghĩa là: Tổng các mảng chỉ mục1 và chỉ mục2 và lưu trữ trong chỉ mục1.
Làm thế nào tôi có thể làm điều đó, với việc sử dụng getter và setter như:
seti2(geti1()+geti2())
hoặc một cái gì đó như thế, (vì nó không phải là rất hữu ích, tôi không muốn viết getter và setter cho mỗi geti1 index() geti2() ... geti50())
Bạn có ý tưởng gì không?
Nhân tiện, câu hỏi thứ hai của tôi là, getter không nên có bất kỳ tham số nào và setter chỉ nên có một tham số?
Bạn có thể muốn đọc [Are getter và setter thiết kế nghèo?] (Http://stackoverflow.com/questions/565095/are-getters-and-setters-poor-design-contradictory-advice-seen) –
'Làm điều này là bất tiện' - vì vậy đừng làm điều đó. Tại sao bạn nghĩ rằng bạn cần phải làm điều đó? Tại sao nó riêng tư? Hoặc ** (A) ** cần được đóng gói, nếu bạn có lý do nào đó để kiểm tra/thao tác đầu vào trước khi nhận/cài đặt nó - hoặc bạn muốn hoạt động ở mức cao hơn, với lớp đang làm việc và bạn chỉ cần gọi phương thức như 'sortArray()', 'processArray()', vv - _xor_ ** (B) ** nó không nên, vì vậy get/setter là vô nghĩa. Nếu tất cả những gì bạn muốn là truy cập công cộng chưa được cộng dồn, những người truy cập là những người không biết gì - chỉ cần sử dụng một mảng đơn giản, và ngừng giả vờ là có đóng gói như một cử chỉ mã thông báo. –