কম্পিউটার

ব্যবহারকারীর জন্য C++ সেট ডেটা টাইপ নির্ধারণ করে


এখানে আমরা দেখব কিভাবে আমরা ব্যবহারকারীর সংজ্ঞায়িত ডেটাটাইপগুলির জন্য একটি সেট তৈরি করতে পারি। সেটটি C++ STL-এ উপস্থিত। এটি একটি বিশেষ ধরনের ডেটা স্ট্রাকচার, এটি সাজানো ক্রমে ডেটা সংরক্ষণ করতে পারে এবং ডুপ্লিকেট এন্ট্রি সমর্থন করে না। আমরা যেকোনো ধরনের ডেটার জন্য সেট ব্যবহার করতে পারি, কিন্তু এখানে আমরা দেখব কীভাবে আমরা ব্যবহারকারীর নির্ধারিত ডেটাটাইপের জন্য সেট ব্যবহার করতে পারি।

স্ট্যাকের মধ্যে ব্যবহারকারী-সংজ্ঞায়িত ডেটাটাইপগুলি ব্যবহার করতে, আমাদের <অপারেটরকে ওভাররাইড করতে হবে, যা এই ধরণের দুটি মান তুলনা করতে পারে। এটি উপস্থিত না থাকলে, এটি দুটি বস্তুর তুলনা করতে পারে না, তাই সেটটি সাজানো ক্রমে ডেটা সংরক্ষণ করতে পারে না, তাই একটি ব্যতিক্রম উত্থাপন করবে৷

উদাহরণ

#include <iostream>
#include<set>
using namespace std;
class Student {
   int id, marks;
   public:
   Student(int id, int marks){
      this->id = id;
      this->marks = marks;
   }
   bool operator <(const Student& st) const{ //sort using id,
      return (this->id < st.id);
   } void display() const{
      cout << "(" << id << ", " << marks << ")\n";
   }
};
main() {
   Student s1(5, 70), s2(3, 86), s3(2, 91), s4(2, 60), s5(1, 78), s6(6, 53), s7(4, 59);
   //the set will not consider duplicate id
   set<Student> st_set;
   st_set.insert(s1);
   st_set.insert(s2);
   st_set.insert(s3);
   st_set.insert(s4);
   st_set.insert(s5);
   st_set.insert(s6);
   st_set.insert(s7);
   set<Student>::iterator it;
   for(it = st_set.begin(); it != st_set.end(); it++){
      it->display();
   }
}

আউটপুট

(1, 78)
(2, 91)
(3, 86)
(4, 59)
(5, 70)
(6, 53)

  1. লিনাক্সে c++ এর জন্য শীর্ষ IDE কি?

  2. উইন্ডোতে c++ এর জন্য শীর্ষ IDE কি?

  3. C++ এ বুলিয়ানের টাইপ স্পেসিফায়ার কী?

  4. কিভাবে C# এ ডাইনামিক ডাটা টাইপ সংজ্ঞায়িত করবেন