SHARE
SPREAD
HELP

The Tradition of Sharing

Help your friends and juniors by posting answers to the questions that you know. Also post questions that are not available.


To start with, Sr2Jr’s first step is to reduce the expenses related to education. To achieve this goal Sr2Jr organized the textbook’s question and answers. Sr2Jr is community based and need your support to fill the question and answers. The question and answers posted will be available free of cost to all.

 

#
Authors:
Walter Savitch ,julia Lobur
Chapter:
Friends Overloaded Operators And Arrays In Classes
Exercise:
Programming Projects
Question:3 | ISBN:9780321531346 | Edition: 7

Question

size. Suppose that vectors were not defined in C++. Define a class called

VectorDouble that is like a class for a vector with base type double. Your

class VectorDouble will have a private member variable for a dynamic

array of doubles. It will also have two member variables of type int; one

called max_count for the size of the dynamic array of doubles, and one

called count for the number of array positions currently holding values.

(max_count is the same as the capacity of a vector; count is the same as the size of a vector.)

If you attempt to add an element (a value of type double) to the vector

object of the class VectorDouble and there is no more room, then a new

dynamic array with twice the capacity of the old dynamic array is created and

the values of the old dynamic array are copied to the new dynamic array.

Your class should have all of the following:

Three constructors: a default constructor that creates a dynamic array

for 50 elements, a constructor with one int argument for the number

of elements in the initial dynamic array, and a copy constructor.

A destructor.

A suitable overloading of the assignment operator =.

A suitable overloading of the equality operator ==. To be equal, the values

of count and the count array elements must be equal, but the values

of max_count need not be equal.

Member functions push_back, capacity, size, reserve, and resize

that behave the same as the member functions of the same names for

vectors. (continued)

Two member functions to give your class the same utility as the square

brackets: value_at(i), which returns the value of the ith element in

the dynamic array; and change_value_at(d, i), which changes the

double value at the ith element of the dynamic array to d. Enforce suitable

restrictions on the arguments to value_at and change_value_at.

(Your class will not work with the square brackets. It can be made to

work with square brackets, but we have not covered the material

which tells you how to do that.)

TextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbook

Sorry the answer is not available at the moment…

If you are able to find the answer, please make sure to post it here. So that your Juniors have smile on their lips and feel happy.

Spread the 'tradition of sharing'.