উত্তরঃ

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;
}

 

সুবিধাসমূহ:

  1. ফাংশনালিটি (Functionality):
    • একাধিক ক্লাসের private ডাটা অ্যাক্সেস করতে পারে
    • দুই ক্লাসের মধ্যে ডাটা শেয়ার করা সহজ হয়
    • ক্লাসের বাইরে থেকে private ডাটা নিয়ে কাজ করা যায়
  2. ফ্লেক্সিবিলিটি (Flexibility):
    • একাধিক ক্লাসের ডাটা একসাথে প্রসেস করা যায়
    • ক্লাসের ইনক্যাপসুলেশন ভঙ্গ না করে ডাটা অ্যাক্সেস করা যায়
  3. কোড অপ্টিমাইজেশন:
    • পারফরম্যান্স বাড়ানো যায়
    • কোড পুনর্ব্যবহার করা সহজ হয়

অসুবিধাসমূহ:

  1. সিকিউরিটি রিস্ক:
    • private ডাটা অ্যাক্সেস করতে পারে, যা সিকিউরিটি ঝুঁকি তৈরি করে
    • ডাটা হাইডিং নীতি লঙ্ঘন করে
  2. মেইনটেনেবিলিটি:
    • কোড মেইনটেইন করা কঠিন হয়
    • ডিবাগিং জটিল হয়ে যায়
  3. কোড কমপ্লেক্সিটি:
    • প্রোগ্রামের জটিলতা বাড়ে
    • কোড বোঝা কঠিন হয়ে যায়

উদাহরণ:

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;
}

98

Related Question

View All
উত্তরঃ

কম্পিউটারের মেমরি (Memory) ব্যবস্থায় RAM (Random Access Memory) এবং ROM (Read Only Memory) উভয়ই গুরুত্বপূর্ণ ভূমিকা পালন করে। এদের মৌলিক প্রকৃতি ও কার্যকারিতার মধ্যে বেশ কিছু সুস্পষ্ট পার্থক্য বিদ্যমান, যা নিচে একটি সারণীর মাধ্যমে ব্যাখ্যা করা হলো:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
বৈশিষ্ট্য (Feature)RAM (র‍্যাম)ROM (রম)
পুরো নাম (Full Name)Random Access MemoryRead Only Memory
প্রকৃতি (Nature)এটি একটি Volatile (উদ্বায়ী) মেমরি।এটি একটি Non-volatile (অনুদ্বায়ী) মেমরি।
ডেটা সংরক্ষণ (Data Storage)অস্থায়ীভাবে ডেটা সংরক্ষণ করে। কম্পিউটার চালু থাকাকালীন ডেটা ও প্রোগ্রাম লোড করে।স্থায়ীভাবে ডেটা সংরক্ষণ করে। গুরুত্বপূর্ণ সিস্টেম ফাইল ও ফার্মওয়্যার (Firmware) থাকে।
ডেটা পরিবর্তন (Data Modification)ডেটা পড়া (Read) এবং লেখা (Write) উভয়ই করা যায়, অর্থাৎ ডেটা পরিবর্তনযোগ্য।সাধারণত শুধু ডেটা পড়া যায়; ডেটা লেখা বা পরিবর্তন করা কঠিন বা বিশেষ পদ্ধতির প্রয়োজন।
গতি (Speed)ROM-এর চেয়ে অনেক দ্রুত কাজ করে।RAM-এর চেয়ে ধীর গতিসম্পন্ন।
বিদ্যুৎ চলে গেলে (Power Off)বিদ্যুৎ সরবরাহ বন্ধ হলে এতে সংরক্ষিত সমস্ত ডেটা হারিয়ে যায়।বিদ্যুৎ সরবরাহ বন্ধ হলেও এতে সংরক্ষিত ডেটা অক্ষত থাকে।
ব্যবহার (Usage)অপারেটিং সিস্টেম (Operating System), অ্যাপ্লিকেশন প্রোগ্রাম (Application Program) এবং বর্তমান কাজের ডেটা লোড করার জন্য ব্যবহৃত হয়।কম্পিউটার চালু করার জন্য প্রয়োজনীয় বুটস্ট্র্যাপ নির্দেশাবলী (Bootstrap Instructions) এবং বায়োস (BIOS) বা ইউইএফআই (UEFI) ফার্মওয়্যার সংরক্ষণ করে।
ক্ষমতা (Capacity)সাধারণত GB (গিগাবাইট)-এর এককে পরিমাপ করা হয় (যেমন: 4GB, 8GB, 16GB)।সাধারণত MB (মেগাবাইট)-এর এককে পরিমাপ করা হয় (যেমন: 4MB, 8MB, 16MB)।
উদাহরণ (Examples)DRAM (Dynamic RAM), SRAM (Static RAM)।PROM (Programmable ROM), EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM)।

সংক্ষেপে, RAM একটি দ্রুত, অস্থায়ী কার্যকারী মেমরি যা কম্পিউটারকে বর্তমান কাজগুলো সম্পাদন করতে সাহায্য করে, অন্যদিকে ROM একটি ধীর, স্থায়ী মেমরি যা কম্পিউটার চালু করার জন্য অপরিহার্য মৌলিক নির্দেশাবলী সংরক্ষণ করে।

Satt AI
Satt AI
12 hours ago
314
শিক্ষকদের জন্য বিশেষভাবে তৈরি

১ ক্লিকে প্রশ্ন, শীট, সাজেশন
অনলাইন পরীক্ষা তৈরির সফটওয়্যার!

শুধু প্রশ্ন সিলেক্ট করুন — প্রশ্নপত্র অটোমেটিক তৈরি!

প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
এখনই শুরু করুন ডেমো দেখুন
৫০,০০০+
শিক্ষক
৩০ লক্ষ+
প্রশ্নপত্র
মাত্র ১৫ পয়সায় প্রশ্নপত্র
১ ক্লিকে প্রশ্ন, শীট, সাজেশন তৈরি করুন আজই

Complete Exam
Preparation

Learn, practice, analyse and improve

1M+ downloads
4.6 · 8k+ Reviews