Problem:
Implement the following Set class. A set is a collection of items with no duplicates. The following class implements a set of integers.
#ifndef SET_H
#define SET_H
#include
#include
using namespace std;
class Set
{
// friend operator functions
friend ostream &operator<<(ostream & out, const Set & s);
friend istream &operator>>(istream & in, Set & s);
public:
// Constructors
Set(); // default constructor
Set(const Set & s); // copy constructor
// destructor
~Set();
// operator functions
Set operator||(Set & s); // union of the set with the set s
Set operator&&(Set & s); // intersection of the set with the set s
const Set& operator=(const Set & s); // assignment
bool operator==(const Set & s); // equality
int& operator[](int index); // returns modifiable lvalue
int operator[](int index) const; // returns rvalue
// Set membership functions
bool member(int m); // The integer m is a member
void add(int m); // add the integer m to the set
void remove(int m); // remove the integer m from the set
private:
vector _s;
};
#endif
The member functions must be written in a file Set.cpp. You are required to provide a driver program for the above class as well.
Additional Information:
This question is from Computer Science as well as it discusses about implementing a set class of data with no duplicates using C++. Apart from this, a driver program for the class.