Set Class First combine the two into one set by overloading

Set Class

First, combine the two into one set by overloading the + (union) operator, and print out the union set. The + operator must remove all duplicates and store one copy of any item. You also need to implement a subtraction operator (difference) where (A-B means removing all elements of B from A) and print out the result. So the main function takes two sets of integers and print the result of + and - operation.

You should submit a single lastnameHW2.zip containing: ArrayBag.h, ArrayBag.cpp, main.cpp, SetFunctions.h, SetFunctions.cpp

Need main.cpp and setfunctions.cpp and setfunctions.h to be built.

Solution

//Following is the code for given problem statement

//SetFunction.h
class SetFunction
{
   public:
       ArrayBag operator+(ArrayBag a,ArrayBag b);
       ArrayBag operator-(ArrayBag a,ArrayBag b);
};

//SetFunction.cpp

#include \"SetFunctio.h\"

ArrayBag SetFnctions::operator+(ArrayBag a,ArrayBag b)   //Function for union operation
{
   ArrayBag ans=a;
   Vector bb=b.toVector(();
   int len=b.getCurrentSize();
   for(int i=0;i<len;i++)
   {
       if(!ans.contains(bb[i]))
           ans.add(bb[i]);
   }
   return ans;
}
ArrayBag SetFunctions::operator-(ArrayBag a,ArrayBag b) //Function for A-B operation
{
   ArrayBag ans=new ArrayBag();
   ans=a;
   int len=b.getCurrentSize();
   for(int i=0;i<len;i++)
   {
       if(ans.contains(bb[i]))
           ans.remove(bb[i]);
   }
return ans;
}

//Main file

#include <stdio.h>
#include <iostream>
using namespace std;
#include \"arraybag.h\"

int main()
{
   ArrayBag a=new ArrayBag();
   ArrayBag b=new ArrayBag();
   ifstream infile;
   infile.open(\"setinput.txt\");
   string line;
   if(getline(infile,line))  
{   istringstream iss(line);
   while(!iss.eof())
   {
       int x;
       iss>>x;
       cout<<x<<\" \";
       a.add(x);
   }
}  
   if(getline(infile,line))
{   istringstream iss(line);
   while(!iss.eof())
   {
       int x;
       iss>>x;
       cout<<x<<\" \";
       b.add(x);
   }
}
}

Set Class First, combine the two into one set by overloading the + (union) operator, and print out the union set. The + operator must remove all duplicates and
Set Class First, combine the two into one set by overloading the + (union) operator, and print out the union set. The + operator must remove all duplicates and

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site