কম্পিউটার

C++ এ ব্যক্তিগত এবং সুরক্ষিতের মধ্যে পার্থক্য


এই পোস্টে, আমরা C++ এ ব্যক্তিগত এবং সুরক্ষিত অ্যাক্সেস মডিফায়ারের মধ্যে পার্থক্য বুঝতে পারব।

ব্যক্তিগত অ্যাক্সেস মডিফায়ার

  • এগুলিকে 'ব্যক্তিগত' কীওয়ার্ড ব্যবহার করে ঘোষণা করা হয়, তারপরে একটি ':'।

  • তাদের ক্লাসের বাইরে অ্যাক্সেস করা যাবে না।

  • 'প্রাইভেট' কীওয়ার্ড হল একটি অ্যাক্সেস মডিফায়ার যা নিশ্চিত করে যে ক্লাসের ভিতরের ফাংশন এবং অ্যাট্রিবিউটগুলি শুধুমাত্র ক্লাসের সদস্যদের দ্বারা অ্যাক্সেস করা হয় যেখানে তারা ঘোষণা করা হয়েছে।

  • শুধুমাত্র মেম্বার ফাংশন বা ফ্রেন্ড ফাংশনগুলিকে 'প্রাইভেট' হিসাবে লেবেল করা ডেটা অ্যাক্সেস করার অনুমতি দেওয়া হয়৷

উদাহরণ

#include <iostream>
using namespace std;
class base_class{
   private:
   string my_name;
   int my_age;
   public:
   void getName(){
      cout << "Enter the name... ";
      cin >> my_name;
      cout << "Enter the age... ";
      cin >> my_age;
   }
   void printIt(){
      cout << "The name is : " << my_name << endl;
      cout << "The age is: " << my_age << endl;
   }
};
int main(){
   cout<<"An object of class is created"<< endl;
   base_class my_instance;
   my_instance.getName();
   my_instance.printIt();
   return 0;
}

আউটপুট

/tmp/u5NtWSnX5A.o
An object of class is created
Enter the name... Jane
Enter the age... 34
The name is : Jane
The age is: 34

সুরক্ষিত অ্যাক্সেস মডিফায়ার

  • সুরক্ষিত অ্যাক্সেস মডিফায়ার ব্যক্তিগত অ্যাক্সেস সংশোধকের অনুরূপ।

  • তারা 'সুরক্ষিত' কীওয়ার্ড ব্যবহার করে ঘোষণা করা হয়, তারপর ':'।

  • 'সুরক্ষিত' হিসাবে ঘোষণা করা ক্লাস সদস্যকে ক্লাসের বাইরে অ্যাক্সেস করা যাবে না।

  • যে শ্রেণীতে তারা ঘোষণা করা হয়েছে তার মধ্যেই তাদের অ্যাক্সেস করা যেতে পারে।

  • এগুলিকে একটি উদ্ভূত শ্রেণী দ্বারাও অ্যাক্সেস করা যেতে পারে যার অভিভাবক শ্রেণীতে 'সুরক্ষিত' সদস্য রয়েছে৷

  • উত্তরাধিকার ধারণার সাথে কাজ করার সময় এগুলি ব্যবহার করা হয়।

উদাহরণ

#include <iostream>
using namespace std;
class base_class{
   private:
   string my_name;
   int my_age;
   protected:
   int my_salary;
   public:
   void getName(){
      cout << "Enter the name... ";
      cin >> my_name;
      cout << "Enter the age... ";
      cin >> my_age;
   }
   void printIt(){
      cout << "The name is : " << my_name << endl;
      cout << "The age is: " << my_age << endl;
   }
};
class derived_class : public base_class{
   private:
   string my_city;
   public:
   void set_salary(int val){
      my_salary = val;
   }
   void get_data_1(){
      getName();
      cout << "Enter the city... ";
      cin >> my_city;
   }
   void print_it_1(){
      cout << "The salary is: " << my_salary << endl;
      printIt();
      cout << "The city is: " << my_city << endl;
   }
};
int main(){
   cout<<"Instance of derived class is being created.."<<endl;
   derived_class my_instance_2 ;
   my_instance_2.set_salary(100);
   my_instance_2.get_data_1();
   my_instance_2.print_it_1();
   return 0;
}

আউটপুট

/tmp/u5NtWSnX5A.o
Instance of derived class is being created..
Enter the name... Jane
Enter the age... 23
Enter the city... NewYork
The salary is: 100
The name is : Jane
The age is: 23
The city is: NewYork

  1. C++ এ ব্যক্তিগত, সর্বজনীন এবং সুরক্ষিত সংশোধকদের মধ্যে পার্থক্য

  2. সি ++ এ সিন এবং কাউট স্ট্রিমের মধ্যে পার্থক্য কী?

  3. C++ এ ডট (.) অপারেটর এবং -> এর মধ্যে পার্থক্য কী?

  4. C# এ ক্লাস এবং স্ট্রাকচারের মধ্যে পার্থক্য