ডেটা হাইডিং অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং-এর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা একটি প্রোগ্রামের ফাংশনগুলোর ক্লাস টাইপের অভ্যন্তরীণ রিপ্রেজেন্টেশনে সরাসরি অ্যাক্সেস রোধ করে। ক্লাস মেম্বারদের অ্যাক্সেস রিস্ট্রিকশন নির্দিষ্ট করা হয় লেবেলড অ্যাক্সেস মডিফায়ার দ্বারা: ক্লাস বডির ভিতরে public, private, এবং protected সেকশন।
মেম্বার এবং ক্লাসের ডিফল্ট অ্যাক্সেস হলো private।
class Base {
public:
// পাবলিক মেম্বারগুলো এখানে
protected:
// প্রোটেক্টেড মেম্বারগুলো এখানে
private:
// প্রাইভেট মেম্বারগুলো এখানে
};
একটি public মেম্বার প্রোগ্রামের যেকোনো জায়গা থেকে ক্লাসের বাইরে অ্যাক্সেসযোগ্য। আপনি পাবলিক ভেরিয়েবলদের মান সেট ও গেট করতে পারেন কোনো মেম্বার ফাংশন ছাড়া।
একটি private মেম্বার ভেরিয়েবল বা ফাংশন ক্লাসের বাইরে থেকে অ্যাক্সেস করা যায় না, দেখা যাবে না। শুধু ক্লাস এবং ফ্রেন্ড ফাংশনগুলো প্রাইভেট মেম্বার অ্যাক্সেস করতে পারে।
একটি protected মেম্বার ভেরিয়েবল বা ফাংশন খুব মিলते জুলতে private মেম্বারের মতো কিন্তু এটি একটি অতিরিক্ত সুবিধা দেয়: সেগুলো চাইল্ড ক্লাসগুলোর (যাদের ডেরাইভড ক্লাস বলা হয়) মধ্যেও অ্যাক্সেসযোগ্য।