CONSTANT //   static const int DEFAULT_CAPACITY = ____ //     IntSet::DEFAULT_CAPACITY is the initial capacity of an //     IntSet that is created by the default constructor (i.e., //     IntSet::DEFAULT_CAPACITY is the highest # of distinct //     values "an IntSet created by the default constructor" //     can accommodate). // // CONSTRUCTOR //   IntSet(int initial_capacity = DEFAULT_CAPACITY) //     Post: The invoking IntSet is initialized to an empty //           IntSet (i.e., one containing no relevant elements); //           the initial capacity is given by initial_capacity if //           initial_capacity is >= 1, otherwise it is given by //           IntSet:DEFAULT_CAPACITY. //     Note: When the IntSet is put to use after construction, //           its capacity will be resized as necessary. // // CONSTANT MEMBER FUNCTIONS (ACCESSORS) //   int size() const //     Pre:  (none) //     Post: Number of elements in the invoking IntSet is returned. //   bool isEmpty() const //     Pre:  (none) //     Post: True is returned if the invoking IntSet has no relevant //           elements, otherwise false is returned. //   bool contains(int anInt) const //     Pre:  (none) //     Post: true is returned if the invoking IntSet has anInt as an //           element, otherwise false is returned. //   bool isSubsetOf(const IntSet& otherIntSet) const //     Pre:  (none) //     Post: True is returned if all elements of the invoking IntSet //           are also elements of otherIntSet, otherwise false is //           returned. //           By definition, true is returned if the invoking IntSet //           is empty (i.e., an empty IntSet is always isSubsetOf //           another IntSet, even if the other IntSet is also empty). //   void DumpData(std::ostream& out) const //     Pre:  (none) //     Post: Contents of the invoking IntSet have been inserted into //           out with 2 spaces separating one item from another if //           if there are 2 or more items. //   IntSet unionWith(const IntSet& otherIntSet) const //     Pre:  (none) //     Post: An IntSet representing the union of the invoking IntSet //           and otherIntSet is returned. //     Note: Equivalently (see postcondition of add), the IntSet //           returned is one that initially is an exact copy of the //           invoking IntSet but subsequently has all elements of //           otherIntSet added. //   IntSet intersect(const IntSet& otherIntSet) const //     Pre:  (none) //     Post: An IntSet representing the intersection of the invoking //           IntSet and otherIntSet is returned. //     Note: Equivalently (see postcondition of remove), the IntSet //           returned is one that initially is an exact copy of the //           invoking IntSet but subsequently has all of its elements //           that are not also elements of otherIntSet removed. //   IntSet subtract(const IntSet& otherIntSet) const //     Pre:  (none) //     Post: An IntSet representing the difference between the invoking //           IntSet and otherIntSet is returned. //     Note: Equivalently (see postcondition of remove), the IntSet //           returned is one that initially is an exact copy of the //           invoking IntSet but subsequently has all elements of //           otherIntSet removed. // // MODIFICATION MEMBER FUNCTIONS (MUTATORS) //   void reset() //     Pre:  (none) //     Post: The invoking IntSet is reset to become an empty IntSet. //           (i.e., one containing no relevant elements). //   bool add(int anInt) //     Pre:  (none) //     Post: If contains(anInt) returns false, anInt has been //           added to the invoking IntSet as a new element and //           true is returned, otherwise the invoking IntSet is //           unchanged and false is returned. //   bool remove(int anInt) //     Pre:  (none) //     Post: If contains(anInt) returns true, anInt has been //           removed from the invoking IntSet and true is //           returned, otherwise the invoking IntSet is unchanged //           and false is returned. // // NON-MEMBER FUNCTIONS //   bool operator==(const IntSet& is1, const IntSet& is2) //     Pre:  (none) //     Post: True is returned if is1 and is2 have the same elements, //           otherwise false is returned; for e.g.: {1,2,3}, {1,3,2}, //           {2,1,3}, {2,3,1}, {3,1,2}, and {3,2,1} are all equal. //     Note: By definition, two empty IntSet's are equal. // // VALUE SEMANTICS //   Assignment and the copy constructor may be used with IntSet //   objects. f

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

/ CONSTANT
//   static const int DEFAULT_CAPACITY = ____
//     IntSet::DEFAULT_CAPACITY is the initial capacity of an
//     IntSet that is created by the default constructor (i.e.,
//     IntSet::DEFAULT_CAPACITY is the highest # of distinct
//     values "an IntSet created by the default constructor"
//     can accommodate).
//
// CONSTRUCTOR
//   IntSet(int initial_capacity = DEFAULT_CAPACITY)
//     Post: The invoking IntSet is initialized to an empty
//           IntSet (i.e., one containing no relevant elements);
//           the initial capacity is given by initial_capacity if
//           initial_capacity is >= 1, otherwise it is given by
//           IntSet:DEFAULT_CAPACITY.
//     Note: When the IntSet is put to use after construction,
//           its capacity will be resized as necessary.
//
// CONSTANT MEMBER FUNCTIONS (ACCESSORS)
//   int size() const
//     Pre:  (none)
//     Post: Number of elements in the invoking IntSet is returned.
//   bool isEmpty() const
//     Pre:  (none)
//     Post: True is returned if the invoking IntSet has no relevant
//           elements, otherwise false is returned.
//   bool contains(int anInt) const
//     Pre:  (none)
//     Post: true is returned if the invoking IntSet has anInt as an
//           element, otherwise false is returned.
//   bool isSubsetOf(const IntSet& otherIntSet) const
//     Pre:  (none)
//     Post: True is returned if all elements of the invoking IntSet
//           are also elements of otherIntSet, otherwise false is
//           returned.
//           By definition, true is returned if the invoking IntSet
//           is empty (i.e., an empty IntSet is always isSubsetOf
//           another IntSet, even if the other IntSet is also empty).
//   void DumpData(std::ostream& out) const
//     Pre:  (none)
//     Post: Contents of the invoking IntSet have been inserted into
//           out with 2 spaces separating one item from another if
//           if there are 2 or more items.
//   IntSet unionWith(const IntSet& otherIntSet) const
//     Pre:  (none)
//     Post: An IntSet representing the union of the invoking IntSet
//           and otherIntSet is returned.
//     Note: Equivalently (see postcondition of add), the IntSet
//           returned is one that initially is an exact copy of the
//           invoking IntSet but subsequently has all elements of
//           otherIntSet added.
//   IntSet intersect(const IntSet& otherIntSet) const
//     Pre:  (none)
//     Post: An IntSet representing the intersection of the invoking
//           IntSet and otherIntSet is returned.
//     Note: Equivalently (see postcondition of remove), the IntSet
//           returned is one that initially is an exact copy of the
//           invoking IntSet but subsequently has all of its elements
//           that are not also elements of otherIntSet removed.
//   IntSet subtract(const IntSet& otherIntSet) const
//     Pre:  (none)
//     Post: An IntSet representing the difference between the invoking
//           IntSet and otherIntSet is returned.
//     Note: Equivalently (see postcondition of remove), the IntSet
//           returned is one that initially is an exact copy of the
//           invoking IntSet but subsequently has all elements of
//           otherIntSet removed.
//
// MODIFICATION MEMBER FUNCTIONS (MUTATORS)
//   void reset()
//     Pre:  (none)
//     Post: The invoking IntSet is reset to become an empty IntSet.
//           (i.e., one containing no relevant elements).
//   bool add(int anInt)
//     Pre:  (none)
//     Post: If contains(anInt) returns false, anInt has been
//           added to the invoking IntSet as a new element and
//           true is returned, otherwise the invoking IntSet is
//           unchanged and false is returned.
//   bool remove(int anInt)
//     Pre:  (none)
//     Post: If contains(anInt) returns true, anInt has been
//           removed from the invoking IntSet and true is
//           returned, otherwise the invoking IntSet is unchanged
//           and false is returned.
//
// NON-MEMBER FUNCTIONS
//   bool operator==(const IntSet& is1, const IntSet& is2)
//     Pre:  (none)
//     Post: True is returned if is1 and is2 have the same elements,
//           otherwise false is returned; for e.g.: {1,2,3}, {1,3,2},
//           {2,1,3}, {2,3,1}, {3,1,2}, and {3,2,1} are all equal.
//     Note: By definition, two empty IntSet's are equal.
//
// VALUE SEMANTICS
//   Assignment and the copy constructor may be used with IntSet
//   objects.

f

79 void IntSet: :resize(int new_capacity)
80
{
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
118
119
120
121
122
123
124
125
126
}
127
128
129
130
131
132
133
134
135
136
137
138
IntSet :: IntSet (int initial_capacity)
{
cout << "IntSet(...) is not implemented yet...' << endl;
}
IntSet :: IntSet (const IntSet& src)
cout << "copy constructor is not implemented yet... << endl;
}
IntSet::~IntSet()
cout << "destructor is not implemented yet..." << endl;
{
105
106
107 {
108
}
109
110 }
111
112
113 {
114
115
116
117
cout << "resize() is not implemented yet..." << endl;
IntSet& IntSet::operator= (const IntSet& rhs)
{
cout << "operator-() is not implemented yet..." << endl;
return *this;
}
int IntSet: :size() const
cout << "size() is not implemented yet..." << endl;
return 0; // dummy value returned
bool IntSet::isEmpty() const
cout << "isEmpty() is not implemented yet.... << endl;
return false; // dummy value returned
}
bool IntSet: :contains (int anInt) const
{
}
cout << "contains() is not implemented yet..." << endl;
return false; // dummy value returned
}
bool IntSet::isSubset of (const IntSet& other IntSet) const
cout << "isSubsetof() is not implemented yet..." << endl;
return false; // dummy value returned
}
void IntSet::DumpData (ostream& out) const
{ // already implemented ... DON'T change anything
if (used > 0)
out <<data[0];
for (int i = 1; i < used; ++i)
out << "
<<data[i];
Transcribed Image Text:79 void IntSet: :resize(int new_capacity) 80 { 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 118 119 120 121 122 123 124 125 126 } 127 128 129 130 131 132 133 134 135 136 137 138 IntSet :: IntSet (int initial_capacity) { cout << "IntSet(...) is not implemented yet...' << endl; } IntSet :: IntSet (const IntSet& src) cout << "copy constructor is not implemented yet... << endl; } IntSet::~IntSet() cout << "destructor is not implemented yet..." << endl; { 105 106 107 { 108 } 109 110 } 111 112 113 { 114 115 116 117 cout << "resize() is not implemented yet..." << endl; IntSet& IntSet::operator= (const IntSet& rhs) { cout << "operator-() is not implemented yet..." << endl; return *this; } int IntSet: :size() const cout << "size() is not implemented yet..." << endl; return 0; // dummy value returned bool IntSet::isEmpty() const cout << "isEmpty() is not implemented yet.... << endl; return false; // dummy value returned } bool IntSet: :contains (int anInt) const { } cout << "contains() is not implemented yet..." << endl; return false; // dummy value returned } bool IntSet::isSubset of (const IntSet& other IntSet) const cout << "isSubsetof() is not implemented yet..." << endl; return false; // dummy value returned } void IntSet::DumpData (ostream& out) const { // already implemented ... DON'T change anything if (used > 0) out <<data[0]; for (int i = 1; i < used; ++i) out << " <<data[i];
103 #ifndef INT_SET_H
104 #define INT_SET_H
105
106 #include <iostream>
107
108 class IntSet
109 {
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
public:
static const int DEFAULT_CAPACITY = 1;
IntSet (int initial_capacity
IntSet (const IntSet& src);
~IntSet();
IntSet& operator= (const IntSet& rhs);
int size() const;
bool isEmpty() const;
bool contains (int anInt) const;
bool isSubset Of (const IntSet& otherIntSet) const;
void DumpData (std::ostream& out) const;
bool add(int anInt);
bool remove(int anInt);
IntSet unionWith(const IntSet& otherIntSet) const;
IntSet intersect(const IntSet& otherIntSet) const;
IntSet subtract (const IntSet& other IntSet) const;
void reset();
private:
=
int* data;
int capacity;
int used;
void resize(int new_capacity);
DEFAULT_CAPACITY);
#endif
};
135 bool operator==(const IntSet& isl, const IntSet& is2);
136
137
Transcribed Image Text:103 #ifndef INT_SET_H 104 #define INT_SET_H 105 106 #include <iostream> 107 108 class IntSet 109 { 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 public: static const int DEFAULT_CAPACITY = 1; IntSet (int initial_capacity IntSet (const IntSet& src); ~IntSet(); IntSet& operator= (const IntSet& rhs); int size() const; bool isEmpty() const; bool contains (int anInt) const; bool isSubset Of (const IntSet& otherIntSet) const; void DumpData (std::ostream& out) const; bool add(int anInt); bool remove(int anInt); IntSet unionWith(const IntSet& otherIntSet) const; IntSet intersect(const IntSet& otherIntSet) const; IntSet subtract (const IntSet& other IntSet) const; void reset(); private: = int* data; int capacity; int used; void resize(int new_capacity); DEFAULT_CAPACITY); #endif }; 135 bool operator==(const IntSet& isl, const IntSet& is2); 136 137
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY