Polymorphic class hierarchy for sets and bags

Assignment Help Basic Computer Science
Reference no: EM13829602

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

Additional Information:

This question is from Computer Science as well as it explains about designing the polymorphic class hierarchy for sets and bags.

Reference no: EM13829602

Questions Cloud

Statement review the dictum that truth always triumphs : Statement review the dictum that truth always triumphs
Java game development jump it : The game "Jump It" consists of a board with n positive integers in a row, except for the first column, which always contains zero. These numbers represent the cost to enter each column. Here is a sample game board with n set to 6:
Write an essay on copying of computer software : The problem is belongs to Sociology and the problem is describe about writing an essay on copying of computer software and its de-criminalization.
What are the internal rates of return for the projects : what are the internal rates of return for the following projects?
Polymorphic class hierarchy for sets and bags : Implement the following Set class. A set is a collection of items with no duplicates. The following class implements a set of integers.
What means do you use to develop supporting ideas : Is there a time of day when you're more effective? Do you prefer working in isolation or in the company of others? Are you more productive composing at a keyboard or with pen and paper?
Net present value calculation-internal rate of return : (Net present value calculation) Big Steve’s, makers of swizzle sticks, is considering the purchase of a new plastic stamping machine. This investment requires an initial outlay of $100,000 and will generate net cash inflows of $18,000 per year for 10..
Statement review the unquestionable property of the labourer : Statement Review the unquestionable property of the labourer
Differences between cash flow and accounting income : Discuss differences between cash flow and accounting income and why it is important to use cash flow in making capital budgeting decisions. How do companies generate ideas for capital projects? Give some examples of capital projects that companies in..

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Input devices

Compare how the gestures data is generated and represented for interpretation in each of the following input devices. In your comparison, consider the data formats (radio waves, electrical signal, sound, etc.), device drivers, operating systems suppo..

  Cores on computer systems

Assignment : Cores on Computer Systems:  Differentiate between multiprocessor systems and many-core systems in terms of power efficiency, cost benefit analysis, instructions processing efficiency, and packaging form factors.

  Prepare an annual budget in an excel spreadsheet

Prepare working solutions in Excel that will manage the annual budget

  Write a research paper in relation to a software design

Research paper in relation to a Software Design related topic

  Describe the forest, domain, ou, and trust configuration

Describe the forest, domain, OU, and trust configuration for Bluesky. Include a chart or diagram of the current configuration. Currently Bluesky has a single domain and default OU structure.

  Construct a truth table for the boolean expression

Construct a truth table for the Boolean expressions ABC + A'B'C' ABC + AB'C' + A'B'C' A(BC' + B'C)

  Evaluate the cost of materials

Evaluate the cost of materials

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  What is the main advantage of using master pages

What is the main advantage of using master pages. Explain the purpose and advantage of using styles.

  Describe the three fundamental models of distributed systems

Explain the two approaches to packet delivery by the network layer in Distributed Systems. Describe the three fundamental models of Distributed Systems

  Distinguish between caching and buffering

Distinguish between caching and buffering The failure model defines the ways in which failure may occur in order to provide an understanding of the effects of failure. Give one type of failure with a brief description of the failure

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd