অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ে ডেটা লুকিয়ে রাখার জন্য অ্যাক্সেস মডিফায়ার ব্যবহার করা হয়। C++ এ তিন ধরনের অ্যাক্সেস মডিফায়ার ব্যবহার করা হয়। এগুলি সর্বজনীন, ব্যক্তিগত এবং সুরক্ষিত। এই সম্পর্কে বিস্তারিত নিম্নরূপ দেওয়া হয়.
পাবলিক অ্যাক্সেস মডিফায়ার
সর্বজনীন ঘোষিত একটি ক্লাসের ডেটা সদস্য এবং সদস্য ফাংশনগুলি অন্যান্য ক্লাস সহ সকলের জন্য উপলব্ধ। ক্লাস অবজেক্টের সাথে ডট অপারেটর ব্যবহার করে প্রোগ্রামের যেকোনো জায়গা থেকে সেগুলি অ্যাক্সেস করা যেতে পারে।
একটি প্রোগ্রাম যা সর্বজনীন অ্যাক্সেস নির্দিষ্টকরণ প্রদর্শন করে তা নিম্নরূপ দেওয়া হল৷
উদাহরণ
#includenamespace ব্যবহার করে std;class Add { public:int a, b; void sum() { cout<<""< আউটপুট
2 এবং 5 এর যোগফল হল 7উপরের প্রোগ্রামে, ক্লাস Add-এ দুটি পাবলিক ডেটা মেম্বার a এবং b আছে। sum() ফাংশন a এবং b এর যোগফল প্রদর্শন করে। এটি নীচে দেখা যাচ্ছে৷
৷ <প্রি>ক্লাস যোগ করুন { পাবলিক:int a, b; void sum() { cout<<""<ফাংশনে main(), ক্লাস Add এর অবজেক্ট তৈরি হয়। তারপর a এবং b main() এ আরম্ভ করা হয়। এটি করা যেতে পারে কারণ তারা পাবলিক ডেটা টাইপ। অবশেষে sum() বলা হয় যা a এবং b এর যোগফল প্রদর্শন করে। এটি নীচে দেখানো হয়েছে৷
৷obj;obj.a =2;obj.b =5;obj.sum();যোগ করুনব্যক্তিগত অ্যাক্সেস মডিফায়ার
যে সমস্ত ডেটা সদস্যকে ব্যক্তিগত ঘোষণা করা হয় সেগুলি শুধুমাত্র ক্লাসের ভিতরের ফাংশনগুলি থেকে অ্যাক্সেসযোগ্য এবং ক্লাসের বাইরের কোনও ফাংশন দ্বারা নয়। বন্ধু ফাংশনগুলি ক্লাসের ব্যক্তিগত ডেটা সদস্যদেরও অ্যাক্সেস করতে পারে৷
একটি প্রোগ্রাম যা ব্যক্তিগত অ্যাক্সেস সংশোধক প্রদর্শন করে তা নিম্নরূপ দেওয়া হল।
উদাহরণ
#includenamespace ব্যবহার করে std;class Add { private:int a, b; সর্বজনীন:void setdata(int x, int y) { a =x; b =y; } void sum() { cout<<""< আউটপুট
9 এবং 5 এর যোগফল হল 14উপরের প্রোগ্রামে, ক্লাস Add এ দুটি প্রাইভেট ডেটা মেম্বার a এবং b আছে। ফাংশন setdata() a এবং b এর মান প্রদান করে কারণ তারা ব্যক্তিগত ভেরিয়েবল। sum() ফাংশন a এবং b এর যোগফল প্রদর্শন করে। এটি নীচে দেখা যাচ্ছে৷
৷ <প্রি>ক্লাস যোগ করুন { ব্যক্তিগত:int a, b; সর্বজনীন:void setdata(int x, int y) { a =x; b =y; } void sum() { cout<<""<ফাংশনে main(), ক্লাস Add এর অবজেক্ট তৈরি হয়। তারপর ফাংশন setdata() কে বলা হয় a এবং b শুরু করার জন্য কারণ এগুলি প্রাইভেট ভেরিয়েবল। অবশেষে sum() বলা হয় যা a এবং b এর যোগফল প্রদর্শন করে। এটি নীচে দেখানো হয়েছে৷
৷obj;obj.setdata(9,5);obj.sum();যোগ করুনসুরক্ষিত অ্যাক্সেস মডিফায়ার
সংরক্ষিত ঘোষিত ক্লাসের ডেটা সদস্যরা ব্যক্তিগত ঘোষিত হিসাবে একই রকম। এগুলি ক্লাসের বাইরে সরাসরি অ্যাক্সেস করা যায় না তবে বেস ক্লাসের প্রাপ্ত ক্লাসের মাধ্যমে সেগুলি অ্যাক্সেস করা যেতে পারে৷
একটি প্রোগ্রাম যা C++ এ সুরক্ষিত অ্যাক্সেস মডিফায়ার প্রদর্শন করে তা নিম্নরূপ −
উদাহরণ
#includenamespace ব্যবহার করে std;class Parent { সুরক্ষিত:int a, b;}; class Child:public Parent { public:void getdata(int x, int y) { a=x; b=y; } void putdata() { cout<<"a ="< আউটপুট
a =9b =1উপরের প্রোগ্রামে, প্যারেন্ট ক্লাসের দুটি সুরক্ষিত ভেরিয়েবল a এবং b আছে। এটি নীচে দেখানো হয়েছে৷
৷শ্রেণীর অভিভাবক { সুরক্ষিত:int a, b;};চাইল্ড ক্লাসে getdata() এবং putdata() দুটি ফাংশন রয়েছে যা যথাক্রমে a এবং b এর মান গ্রহণ করে এবং তাদের প্রদর্শন করে। এই ফাংশনগুলি এটি করতে পারে কারণ a এবং b সুরক্ষিত ভেরিয়েবল এবং চাইল্ড হল অভিভাবকের একটি প্রাপ্ত শ্রেণী। এর জন্য কোড স্নিপেট নিচে দেওয়া হল -
শ্রেণীর শিশু:সর্বজনীন পিতামাতা { সর্বজনীন:void getdata(int x, int y) { a =x; b =y; } void putdata() { cout<<"a ="<main() ফাংশনে চাইল্ড ক্লাসের একটি অবজেক্ট অবজেক্ট তৈরি করা হয়। তারপর getdata() এবং putdata() ফাংশন বলা হয়। এটি নীচে দেখানো হয়েছে৷
৷শিশু obj;obj.getdata(9,1);obj.putdata();