Could you implement this please I was told to use pointers a
Could you implement this please. I was told to use pointers as the data Members. Thank you .
class Set
{
public:
Set();
Set(int n);
Set(Set &set);
int get_size() const;
bool contains(int n) const;
void expand_set();
void add(int n);
Set& operator=(Set &);
void out();
virtual ~Set();
private:
int* elements;
int *size;
};
Solution
Here is the code for you:
class Set
{
public:
Set()
{
size = 50;
elements = new int(size);
for(int i = 0; i < 50; i++)
set[i] = 0;
}
Set(int n)
{
size = n;
elements = new int(size);
for(int i = 0; i < size; i++)
set[i] = 0;
}
Set(Set &set)
{
set.size = size;
set.elements = new int(size);
for(int i = 0; i < size; i++)
set.elements[i] = elements[i];
}
int get_size() const
{
return size;
}
bool contains(int n) const
{
for(int i = 0; i < size; i++)
if(elements[i] == n)
return true;
return false;
}
void expand_set()
{
int *temp = new int(size * 2);
for(int i = 0; i < size; i++)
temp[i] = elements[i];
elements = temp;
}
void add(int n);
Set& operator=(Set &x)
{
size = x.size;
for(int i = 0; i < size; i++)
elements[i] = x.elements[i];
return x;
}
void out()
{
cout<<\"The set is\"<<endl;
cout<<\"{\";
for(int i = 0; i < size; i++)
if(elements[i] != 0)
cout<<elements[i]<<\", \";
cout<<\"\\b\\b}\"<<endl;
}
virtual ~Set();
private:
int* elements;
int size;
};
If you need any refinements, please give proper details.

