কম্পিউটার

স্কোপ রেজোলিউশন অপারেটর বনাম এই পয়েন্টার C++ এ?


এখানে আমরা কিছু C++ উদাহরণ দেখব এবং কী ধরনের আউটপুট তৈরি হবে তা জানার চেষ্টা করব। তাহলে আমরা স্কোপ রেজোলিউশন অপারেটর এবং C++ এ 'এই' পয়েন্টারের উদ্দেশ্য এবং কাজগুলি বুঝতে পারি।

যদি কিছু কোডে কিছু সদস্য 'x' বলে থাকে, এবং আমরা অন্য একটি ফাংশন ব্যবহার করতে চাই যেটি একই নামের 'x' দিয়ে একটি আর্গুমেন্ট নেয়, তাহলে সেই ফাংশনে, যদি আমরা 'x' ব্যবহার করি, এটি সদস্য ভেরিয়েবলকে লুকিয়ে রাখবে, এবং স্থানীয় পরিবর্তনশীল ব্যবহার করা হবে। আসুন এটি একটি কোডে পরীক্ষা করুন৷

উদাহরণ

#include <iostream>
using namespace std;
class MyClass {
   private:
      int x;
   public:
      MyClass(int y) {
         x = y;
      }
   void myFunction(int x) {
      cout << "Value of x is: " << x;
   }
};
main() {
   MyClass ob1(10);
   ob1.myFunction(40);
}

আউটপুট

Value of x is: 40

ক্লাসের x সদস্যকে অ্যাক্সেস করতে, আমাদের 'এই' পয়েন্টারটি ব্যবহার করতে হবে। 'এই' একটি বিশেষ ধরনের পয়েন্টার যা বর্তমান বস্তুর দিকে নির্দেশ করে। আসুন দেখি কিভাবে 'এই' পয়েন্টার এই কাজটি করতে সাহায্য করে।

উদাহরণ

#include <iostream>
using namespace std;
class MyClass {
   private:
      int x;
   public:
      MyClass(int y) {
         x = y;
      }
   void myFunction(int x) {
      cout << "Value of x is: " << this->x;
   }
};
main() {
   MyClass ob1(10);
   ob1.myFunction(40);
}

আউটপুট

Value of x is: 10

C++ এ, স্কোপ রেজুলেশন অপারেটর নামে আরেকটি অপারেটর আছে। সেই অপারেটরটি অভিভাবক শ্রেণীর সদস্য বা কিছু স্ট্যাটিক সদস্যদের অ্যাক্সেস করতে ব্যবহৃত হয়। আমরা যদি এর জন্য স্কোপ রেজোলিউশন অপারেটর ব্যবহার করি তবে এটি কাজ করবে না। একইভাবে, যদি আমরা স্ট্যাটিক সদস্যের জন্য 'এই' পয়েন্টার ব্যবহার করি, এটি কিছু সমস্যা তৈরি করবে।

উদাহরণ

#include <iostream>
using namespace std;
class MyClass {
   static int x;
   public:
      void myFunction(int x) {
         cout << "Value of x is: " << MyClass::x;
      }
};
int MyClass::x = 50;
main() {
   MyClass ob1;
   ob1.myFunction(40);
}

আউটপুট

Value of x is: 50

  1. C++ এ ইউনারি অপারেটর

  2. পিএইচপি স্কোপ রেজোলিউশন অপারেটর (::)

  3. C# এ স্কোপ রেজোলিউশন অপারেটর কি?

  4. কোথায় আমরা C# এ স্কোপ রেজোলিউশন অপারেটর (::) ব্যবহার করব?