Write in c++ Design and code a templated array class that contains the following features: · private o pointer to heap where array is stored o size of array o capacity of array(capacity > size) · public o default constructor o parametrized constructor o copy constructor o destructor o assignment operator=( ) o output operator<<( ) – outputs array content o operator+(int scalar K) – adds K to all array values o (int scalar K)*operator( ) – adds K to all array values o operator[](int offset) – (two versions) o getSize() function – returns the size of array (e.g. valid elements) o at(Offset) function that prevents stepping outside the valid values of array Demonstrate the following cases: (i) · instantiate an integer array X(size = 8, default values = 0) · instantiate an empty integer array Y · instantiate an integer array Z=X (copy constructor) · set array X to contain the following series 0,3,6,9,…21 · assign X to Y · output X, Y, Z · demonstrate Z = Y+5 · Output updated Z · demonstrate Z = 10+X · Output updated Z · demonstrate int temp = X[7](e.g. output temp) · demonstrate Y[4] = X[2] (e.g. output Y[4]) · demonstrate that the at() member function works using the following loop: o for(int i = 0; i < 10; ++i) cout << X[i] << ‘\t’; (ii) demonstrate the same features for char arrays A(6,’a’), B, C
Write in c++
Design and code a templated array class that contains the following features:
· private
o pointer to heap where array is stored
o size of array
o capacity of array(capacity > size)
· public
o default constructor
o parametrized constructor
o copy constructor
o destructor
o assignment operator=( )
o output operator<<( ) – outputs array content
o operator+(int scalar K) – adds K to all array values
o (int scalar K)*operator( ) – adds K to all array values
o operator[](int offset) – (two versions)
o getSize() function – returns the size of array (e.g. valid elements)
o at(Offset) function that prevents stepping outside the valid values of array
Demonstrate the following cases:
(i)
· instantiate an integer array X(size = 8, default values = 0)
· instantiate an empty integer array Y
· instantiate an integer array Z=X (copy constructor)
· set array X to contain the following series 0,3,6,9,…21
· assign X to Y
· output X, Y, Z
· demonstrate Z = Y+5
· Output updated Z
· demonstrate Z = 10+X
· Output updated Z
· demonstrate int temp = X[7](e.g. output temp)
· demonstrate Y[4] = X[2] (e.g. output Y[4])
· demonstrate that the at() member function works using the following loop:
o for(int i = 0; i < 10; ++i) cout << X[i] << ‘\t’;
(ii) demonstrate the same features for char arrays A(6,’a’), B, C
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 6 images