Hello, I am having some trouble with this C++homework question. 1. Implement the following: a. A template class named MyArray. 1) MyArray is a dynamic partially filled array for primitive types. 2) data members:       - a pointer for the array       - any associated variables needed to manage the array. 3) Constructor must insure that specified capacity is possible. Exit the program if an illegal value is specified. 4) “The Big Three” are required to insure deep copy. 5) Private grow function is used to automatically increase the size of the array when adding elements. 6) Add function to safely append elements to the array. 7) getSize function that returns the current number of elements. 8) Overloaded the [] operator to read and update existing elements.   Test using following main function (DO NOT CHANGE the provided int main as any changes will not be accepted) int main() { cout << endl; MyArray a(2); for(int i=0; i<20; i++) { a.add(i+1); } a.output(); MyArray c(20); for(int i=0; i<26; i++) { c.add(static_cast(i+65)); } c.output(); cout << endl; return 0; } Output from main function above: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter12: Points, Classes, Virtual Functions And Abstract Classes
Section: Chapter Questions
Problem 33SA
icon
Related questions
Question

Hello, I am having some trouble with this C++homework question.

1. Implement the following:
a. A template class named MyArray.
1) MyArray is a dynamic partially filled array for primitive types.
2) data members:
      - a pointer for the array
      - any associated variables needed to manage the array.
3) Constructor must insure that specified capacity is possible. Exit the program if
an illegal value is specified.
4) “The Big Three” are required to insure deep copy.
5) Private grow function is used to automatically increase the size of the array
when adding elements.
6) Add function to safely append elements to the array.
7) getSize function that returns the current number of elements.
8) Overloaded the [] operator to read and update existing elements.

 

Test using following main function (DO NOT CHANGE the provided int main as any changes will not be accepted)

int main() {

cout << endl;

MyArray a(2);

for(int i=0; i<20; i++) {

a.add(i+1);

}

a.output();

MyArray c(20);

for(int i=0; i<26; i++) {

c.add(static_cast(i+65));

}

c.output();

cout << endl;

return 0;

}

Output from main function above:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 4 images

Blurred answer
Knowledge Booster
Class
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning