কম্পিউটার

C++ এ উত্তরাধিকার এবং বন্ধুত্ব


C++ এ, বন্ধুত্ব উত্তরাধিকারসূত্রে পাওয়া যায় না। এর মানে হল, যদি একটি অভিভাবক শ্রেণীর কিছু বন্ধু ফাংশন থাকে, তাহলে শিশু শ্রেণি তাদের বন্ধু হিসাবে পাবে না।

এই উদাহরণে এটি একটি ত্রুটি তৈরি করবে কারণ display() ফাংশনটি MyBaseClass এর বন্ধু কিন্তু MyDerivedClass এর বন্ধু নয়। ডিসপ্লে() MyBaseClass-এর ব্যক্তিগত সদস্যকে অ্যাক্সেস করতে পারে।

উদাহরণ

#include <iostream>
using namespace std;
class MyBaseClass {
   protected:
      int x;
   public:
      MyBaseClass() {
         x = 20;
      }
      friend void display();
};
class MyDerivedClass : public MyBaseClass {
   private:
      int y;
   public:
      MyDerivedClass() {
         x = 40;
      }
};
void display() {
   MyDerivedClass derived;
   cout << "The value of private member of Base class is: " << derived.x << endl;
   cout << "The value of private member of Derived class is: " << derived.y << endl;
}
main() {
   display();
}

আউটপুট

[Error] 'int MyDerivedClass::y' is private
[Error] within this context

  1. C++ এ একাধিক উত্তরাধিকার

  2. C++ এ স্থানীয় ক্লাস

  3. C++ এ ক্লাস এবং অবজেক্ট

  4. C++ এ ফ্রেন্ড ক্লাস এবং ফাংশন