Che giấu dữ liệu là đặc trưng quan trọng của OOP, ngăn hàm chương trình truy cập trực tiếp biểu diễn nội bộ của kiểu lớp. Quyền truy cập thành viên lớp được chỉ định bằng các modifier: public, private, protected trong thân lớp.
Quyền truy cập mặc định cho thành viên và lớp là private.
Ví dụ
class Base {
public:
// thành viên public
protected:
// thành viên protected
private:
// thành viên private
};public: Truy cập được từ bất kỳ đâu ngoài lớp nhưng trong chương trình. Có thể set/get giá trị biến public mà không cần hàm thành viên.
private: Không thể truy cập hoặc nhìn thấy từ bên ngoài lớp. Chỉ lớp và hàm friend mới truy cập được.
protected: Tương tự private nhưng có thêm lợi ích: có thể truy cập trong lớp con (derived classes).