Friend Function হল একটি বিশেষ ধরনের ফাংশন যা C++ এ ব্যবহৃত হয়। এটি ক্লাসের বাইরে থেকেও ক্লাসের private এবং protected ডাটা মেম্বার অ্যাক্সেস করতে পারে।
class MyClass {
private:
int private_data;
public:
MyClass() {
private_data = 0;
}
// Friend function declaration
friend void displayData(MyClass obj);
};
// Friend function definition
void displayData(MyClass obj) {
// Can access private members
cout << "Private data = " << obj.private_data;
}
সুবিধাসমূহ:
- ফাংশনালিটি (Functionality):
- একাধিক ক্লাসের private ডাটা অ্যাক্সেস করতে পারে
- দুই ক্লাসের মধ্যে ডাটা শেয়ার করা সহজ হয়
- ক্লাসের বাইরে থেকে private ডাটা নিয়ে কাজ করা যায়
- ফ্লেক্সিবিলিটি (Flexibility):
- একাধিক ক্লাসের ডাটা একসাথে প্রসেস করা যায়
- ক্লাসের ইনক্যাপসুলেশন ভঙ্গ না করে ডাটা অ্যাক্সেস করা যায়
- কোড অপ্টিমাইজেশন:
- পারফরম্যান্স বাড়ানো যায়
- কোড পুনর্ব্যবহার করা সহজ হয়
অসুবিধাসমূহ:
- সিকিউরিটি রিস্ক:
- private ডাটা অ্যাক্সেস করতে পারে, যা সিকিউরিটি ঝুঁকি তৈরি করে
- ডাটা হাইডিং নীতি লঙ্ঘন করে
- মেইনটেনেবিলিটি:
- কোড মেইনটেইন করা কঠিন হয়
- ডিবাগিং জটিল হয়ে যায়
- কোড কমপ্লেক্সিটি:
- প্রোগ্রামের জটিলতা বাড়ে
- কোড বোঝা কঠিন হয়ে যায়
উদাহরণ:
class Box {
private:
int length;
public:
Box() {
length = 0;
}
friend void printLength(Box b);
};
void printLength(Box b) {
// Can access private member length
cout << "Length = " << b.length << endl;
}
int main() {
Box box;
printLength(box); // Will print: Length = 0
return 0;
}
Related Question
View All১ ক্লিকে প্রশ্ন, শীট, সাজেশন ও
অনলাইন পরীক্ষা তৈরির সফটওয়্যার!
শুধু প্রশ্ন সিলেক্ট করুন — প্রশ্নপত্র অটোমেটিক তৈরি!