C++-এ একটি ক্লাসে পাবলিক, প্রাইভেট এবং প্রোটেক্টেড সেকশন থাকে যাতে সংশ্লিষ্ট ক্লাস মেম্বার থাকে। একটি ক্লাসে প্রোটেক্টেড মেম্বার প্রাইভেট মেম্বারের মতোই কারণ সেগুলো ক্লাসের বাইর থেকে অ্যাক্সেস করা যায়না। কিন্তু সেগুলো ডেরাইভড ক্লাস বা চাইল্ড ক্লাস দ্বারা অ্যাক্সেস করা যায় যখন প্রাইভেট মেম্বার অ্যাক্সেস করা যায়না।
C++-এ ডেরাইভড ক্লাসে প্রোটেক্টেড ডাটা মেম্বার অ্যাক্সেস করা প্রদর্শন করে একটি প্রোগ্রাম নিচে দেওয়া হল -
উদাহরণ
#include <iostream>
using namespace std;
class Base {
protected:
int num = 7;
};
class Derived : public Base {
public:
void func() {
cout << "The value of num is: " << num;
}
};
int main() {
Derived obj;
obj.func();
return 0;
}
আউটপুট
উপরোক্ত প্রোগ্রামের আউটপুট নিম্নরূপ।
The value of num is: 7
এখন, আসুন উপরের প্রোগ্রামটি বুঝি।
Base ক্লাসে, ডাটা মেম্বার হল num যা প্রোটেক্টেড। Derived ক্লাস Base ক্লাস ইনহেরিট করে। func() ফাংশন num-এর মান প্রিন্ট করে। এর কোড স্নিপেট নিচে দেওয়া হল।
class Base {
protected:
int num = 7;
};
class Derived : public Base {
public:
void func() {
cout << "The value of num is: " << num;
}
};
main() ফাংশনে, Derived ক্লাসের অবজেক্ট obj তৈরি করা হয়েছে। তারপর func() ফাংশনটি কল করা হয়েছে। এর কোড স্নিপেট নিচে দেওয়া হল।
int main() {
Derived obj;
obj.func();
return 0;
}