# Solution Library

# C++ Designing Polymorphic Class Hierarchy

**Question**

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 <iostream>

#include <vector>

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<int> _s;

};

#endif

The member functions must be written in a file Set.cpp. Now consider which can contain duplicate items. Thus a Set is a Bag but not vice versa in general. Design a polymorphic class hierarchy for Sets and Bags. The header file for the Set class in this hierarchy must be given in Set.h and the header file for Bag class must be given in Bag.h. Provide the implementation files Set.cpp and Bag.cpp.. The following are some examples of Bag intersection (), and Bag union ().∩∪

{1,2,2,2,3,3}{1,1,2,2,3} = {1,2,2,3} ∩

{1,2,2,2,3,3}{1,1,2,2,3} = {1,1,2,2,2,3,3}∪

You must clearly identify which member functions must be virtual

**Summary**

The question belongs to Computer Science and it discusses about designing a polymorphic class hierarchy for sets and bags. **Total Word Count NA**

## Comments

Rashathis is a very good website

maaniI have 50 questions for the same test your page is showing only 28

joeannehi can you please help or guide me to answer my assignments. thanks

joeannehi can anyone help or guide me to my assignments. thanks

MonikCristinaThis solution is perfect ...thanks

JaneteHello Allison,I love the 2nd image that you did! I also, had never heard of SumoPaint, is something that I will have to exolpre a bit! I understand completely the 52 (or so) youtube videos that you probably watched. Sometimes they have what you want, sometimes they don't! However, it is always satisfying when you are able to produce something that you have taught yourself. Great job!Debra 0 likes

SandeepPerfect bank of solution.

Oxanagreat !

Paul Brandon-Fritziusthanks for the quick response. the solution looks good. :)

tina Johnsonthnx for the answer. it was perfect. just the way i wanted it.

Giuseppeworks fine.