Advertisement
splash365

operator overloading example

Feb 12th, 2021
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.27 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. class Set
  6. {
  7.     int element[100];
  8.     int size;
  9.     public:
  10.     Set(){}
  11.     Set(int arr[], int n)
  12.     {
  13.         size = n;
  14.         for(int i = 0; i<n; i++) element[i] = arr[i];
  15.     }
  16.     void show()
  17.     {
  18.         for(int i = 0; i<size; i++) cout << element[i] << ' ';
  19.         cout << endl;
  20.     }
  21.     Set operator+(const Set &obj)
  22.     {
  23.         int arr[100];
  24.         int k = 0;
  25.         for(int i = 0; i<size; i++)
  26.         {
  27.             bool found = false;
  28.             for(int j = 0; j<k; j++)
  29.             {
  30.                 if(element[i] == arr[j])
  31.                 {
  32.                     found = true;
  33.                     break;
  34.                 }
  35.             }
  36.             if(found==false) arr[k++] = element[i];
  37.         }
  38.         for(int i = 0; i<obj.size; i++)
  39.         {
  40.             bool found = false;
  41.             for(int j = 0; j<k; j++)
  42.             {
  43.                 if(obj.element[i] == arr[j])
  44.                 {
  45.                     found = true;
  46.                     break;
  47.                 }
  48.             }
  49.             if(found==false) arr[k++] = obj.element[i];
  50.         }
  51.         Set temp(arr, k);
  52.         return temp;
  53.     }
  54.     Set operator-(const Set &obj)
  55.     {
  56.         int arr[100];
  57.         int k = 0;
  58.         for(int i = 0; i<size; i++)
  59.         {
  60.             bool found = false;
  61.             for(int j = 0; j<obj.size; j++)
  62.             {
  63.                 if(element[i] == obj.element[j])
  64.                 {
  65.                     found = true;
  66.                     break;
  67.                 }
  68.             }
  69.             if(found == false) arr[k++] = element[i];
  70.         }
  71.         Set temp(arr, k);
  72.         return temp;
  73.     }
  74.     bool operator|=(const Set &obj)
  75.     {
  76.         for(int i = 0; i<size; i++)
  77.         {
  78.             bool found = false;
  79.             for(int j = 0; j<obj.size; j++)
  80.             {
  81.                 if(element[i] == obj.element[j])
  82.                 {
  83.                     found = true;
  84.                     break;
  85.                 }
  86.             }
  87.             if(found == false) return false;
  88.         }
  89.         return true;
  90.     }
  91. };
  92.  
  93. int main() {
  94.     int arr[] = {2,4};
  95.     int arr2[] = {11,2,32,4};
  96.     Set st(arr, 2), st2(arr2, 4), st3;
  97.     cout << (st |= st2) << endl;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement