Here is a class declaration. The only member data is a vector holding ints, your job is to implement the six member functions. class IntCollection { private: vector data; public: void add(int value); int get(int index); int getSize(); IntCollection& operator=(const IntCollection &c); bool operator==(const IntCollection &c); IntCollection& operator<<(int value); }; Because a vector handles everything we need under the hood, we don't need the addCapacity function, constructors, or a destructor. The rest of the functions are described below. They should be simple to implement, most only require one or two lines! add() should add the value to the end of the vector. get() should return the element at the given index. getSize() should return the number of elements in the vector. The Assignment operator (=). The assignment operator should perform a deep copy of the argument object. It must return itself (or more efficiently, a reference to itself) in order to support multiple assignments on the same line, e.g. a = b = c. If you implement your assignment operator first it could be used in the copy constructor, but this is not a requirement. The Is Equals operator (==). The "is equals" operator should return true if the argument object has the same size as the receiving object, and the values in both objects’ data arrays are identical. The insertion operator (<<). The insertion operator should add the int parameter into the receiving IntCollection. The functionality is the same as the add() function, i.e. add ints to the collection. Note, however, that this function must return a reference to itself in order to support multiple insertions on the same line, e.g. c << 45 << -210. Unlike the assignment operator, this return must be done by reference, because each insertion actually modifies the IntCollection object, and insertion is done from left to right.
OOPs
In today's technology-driven world, computer programming skills are in high demand. The object-oriented programming (OOP) approach is very much useful while designing and maintaining software programs. Object-oriented programming (OOP) is a basic programming paradigm that almost every developer has used at some stage in their career.
Constructor
The easiest way to think of a constructor in object-oriented programming (OOP) languages is:
Here is a class declaration. The only member data is a
class IntCollection
{
private:
vector<int> data;
public:
void add(int value);
int get(int index);
int getSize();
IntCollection& operator=(const IntCollection &c);
bool operator==(const IntCollection &c);
IntCollection& operator<<(int value);
};
Because a vector handles everything we need under the hood, we don't need the addCapacity function, constructors, or a destructor. The rest of the functions are described below. They should be simple to implement, most only require one or two lines!
- add() should add the value to the end of the vector.
- get() should return the element at the given index.
- getSize() should return the number of elements in the vector.
- The Assignment operator (=). The assignment operator should perform a deep copy of the argument object. It must return itself (or more efficiently, a reference to itself) in order to support multiple assignments on the same line, e.g. a = b = c. If you implement your assignment operator first it could be used in the copy constructor, but this is not a requirement.
- The Is Equals operator (==). The "is equals" operator should return true if the argument object has the same size as the receiving object, and the values in both objects’ data arrays are identical.
- The insertion operator (<<). The insertion operator should add the int parameter into the receiving IntCollection. The functionality is the same as the add() function, i.e. add ints to the collection. Note, however, that this function must return a reference to itself in order to support multiple insertions on the same line, e.g. c << 45 << -210. Unlike the assignment operator, this return must be done by reference, because each insertion actually modifies the IntCollection object, and insertion is done from left to right.
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images