Hỏi về getter trong C++

Em tạo 1 class SoPhuc nhu sau
// SoPhuc.h

//SoPhuc.cpp

Và chương trình báo lỗi ở dòng 32 : - the object has type qualifiers that are not compatible with the member function “SoPhuc::getPhanThuc”
-the object has type qualifiers that are not compatible with the member function “SoPhuc::getPhanAo”

Nhưng khi em thêm từ khóa "const " theo lời mấy ông tây trên stackoverflow thì chương trình ko còn báo lỗi nữa.


//SoPhuc.cpp

Anh chị cho em hỏi tại sao thêm const vào đó thì chương trình ko còn báo lỗi nữa ạ.

https://www.cprogramming.com/tutorial/const_correctness.html

4 Likes

Ở line 31 thì abconst
=> a, b sẽ ko bị thay đổi (*) => gọi hàm getPhanThuc() hay getPhanAo() không đảm bảo được sau khi gọi thì a, b có thay đổi giá trị hay không => Không đảm bảo được (*) => Báo lỗi
Khi bạn thêm const vào lúc khai báo hàm thì có nghĩa là "Hàm này sẽ không thay đổi những thuộc tính của chính đối tượng đó => Đảm bảo được (*) => Không báo lỗi.

Refer: https://en.cppreference.com/w/cpp/language/cv

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?