কম্পিউটার

আপনি কখন C++ এ একটি ক্লাস বনাম একটি স্ট্রাকট ব্যবহার করবেন?


কিছু ​​পার্থক্য ব্যতীত C++-এ কাঠামো এবং ক্লাসগুলি খুব মিল। তাই এই পার্থক্যগুলি সম্পর্কে বিশদ বিবরণ নীচে দেওয়া হয়েছে যা C++ এ কখন একটি শ্রেণি বা কাঠামো ব্যবহার করতে হবে তা নির্ধারণ করতে সহায়তা করে।

শ্রেণী এবং কাঠামোর মধ্যে পার্থক্য

একটি শ্রেণীর সমস্ত সদস্য ডিফল্টরূপে ব্যক্তিগত। এটি কাঠামোর তুলনায় ভিন্ন কারণ একটি কাঠামোর সমস্ত সদস্য ডিফল্টরূপে সর্বজনীন।

একটি প্রোগ্রাম যা C++ এ একটি ক্লাস প্রদর্শন করে তা নিম্নরূপ দেওয়া হল −

উদাহরণ

#include <iostream>
using namespace std;
class Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   return 0;
}

এই প্রোগ্রামটি একটি ত্রুটির কারণ val ডিফল্টরূপে ব্যক্তিগত এবং তাই obj ব্যবহার করে সরাসরি অ্যাক্সেস করা যায় না৷

একটি প্রোগ্রাম যা C++-এ একটি কাঠামো প্রদর্শন করে তা নিম্নরূপ দেওয়া হল -

উদাহরণ

#include <iostream>
using namespace std;
struct Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   cout<<"Value is: "<<obj.val;
   return 0;
}

আউটপুট

উপরের প্রোগ্রামটির আউটপুট নিম্নরূপ -

Value is: 20

উপরের প্রোগ্রামটি সঠিকভাবে কাজ করে কারণ val ডিফল্টরূপে সর্বজনীন এবং তাই সরাসরি obj ব্যবহার করে অ্যাক্সেস করা যেতে পারে৷

একটি শ্রেণী এবং একটি কাঠামোর মধ্যে আরেকটি পার্থক্য উত্তরাধিকারের সময় স্পষ্ট হয়। একটি ক্লাস উত্তরাধিকারসূত্রে নেওয়ার সময়, বেস ক্লাসের অ্যাক্সেস স্পেসিফায়ার ডিফল্টরূপে ব্যক্তিগত থাকে। তুলনামূলকভাবে, যখন একটি কাঠামো উত্তরাধিকারসূত্রে পাওয়া যায়, তখন বেস স্ট্রাকচারের অ্যাক্সেস স্পেসিফায়ার ডিফল্টরূপে সর্বজনীন।


  1. আপনি কখন জাভাস্ক্রিপ্টে সেট ব্যবহার করবেন?

  2. আপনি কখন JavaScript Arrow Functions ব্যবহার করবেন না?

  3. এইচডিএমআই স্প্লিটার বনাম সুইচস:কখন আপনার সেগুলি ব্যবহার করা উচিত?

  4. আপনি স্কোপ বা ক্লাস পদ্ধতি ব্যবহার করা উচিত?