इस ट्यूटोरियल में, हम यह समझने के लिए एक प्रोग्राम पर चर्चा करेंगे कि C++ में यूज़र डिफ़ाइंड क्लास या स्ट्रक्चर का एक अनियंत्रित सेट कैसे बनाया जाए।
इसके लिए हम एक संरचना प्रकार बनाएंगे और फिर हैश फ़ंक्शन को संग्रहीत करने के लिए उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन के साथ दो संरचना प्रकारों की तुलना करेंगे।
उदाहरण
#include <bits/stdc++.h>
using namespace std;
//defined structure
struct Test {
int id;
bool operator==(const Test& t) const{
return (this->id == t.id);
}
};
//defined class for hash function
class MyHashFunction {
public:
size_t operator()(const Test& t) const{
return t.id;
}
};
int main(){
Test t1 = { 110 }, t2 = { 102 }, t3 = { 101 }, t4 = { 115 };
//defining unordered set
unordered_set<Test, MyHashFunction> us;
us.insert(t1);
us.insert(t2);
us.insert(t3);
us.insert(t4);
for (auto e : us) {
cout << e.id << " ";
}
return 0;
} आउटपुट
115 101 110 102