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. int main() { cout << endl; MyArraya(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: Copy the previous program to a new file and implement the following: 1) A class SomeObj with a single integer id as a data member. 2) This class must have a default and user defined constructor. 3) Create an output function to display the id of the object. 4) Modify the MyArray class to create an array of SomeObj objects. 12345678 9 10 11 12 13 14 15 16 17 18 19 20 ABCDEFGHIJKLMNOPQRSTUVWXYZ Test using following main function. int main() { } cout << endl; MyArray a(1); SomeObj 01 (1); SomeObj 02(2); SomeObj 03(3); SomeObj 04(4); SomeObj 05(5); SomeObj 06(6); SomeObj 07(7); SomeObj 08(8); SomeObj 09(9); SomeObj 010(10); a.add(01); a.add(02); a.add(03); a.add(04); a.add(05); a.add(06); a.add(07); a.add(08); a.add(09); a.add(010); a.output(); cout << endl; return 0; Output from main function above: 12345678910

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%

C++ Programming Question 1:
Hi, need help with the entirety of Question 1, need an explanation on "The Big Three" as well if possible (I hope this isn't too much to ask), thank you very much.

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.
int main() {
cout << endl;
MyArray<int> a(2);
for(int i=0; i<20; i++) {
a.add(i+1);
}
a.output();
MyArray<char> c(20);
for(int i=0; i<26; i++) {
c.add(static_cast<char>(i+65));
}
c.output();
cout << endl;
return 0;
}
Output from main function above:
Copy the previous program to a new file and implement the following:
1) A class SomeObj with a single integer id as a data member.
2) This class must have a default and user defined constructor.
3) Create an output function to display the id of the object.
4) Modify the MyArray class to create an array of SomeObj objects.
12345678 9 10 11 12 13 14 15 16 17 18 19 20
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Test using following main function.
int main() {
}
cout << endl;
MyArray<SomeObj> a(1);
SomeObj 01 (1);
SomeObj o2(2);
SomeObj 03(3);
SomeObj 04(4);
SomeObj 05(5);
SomeObj 06(6);
SomeObj 07(7);
SomeObj 08(8);
SomeObj 09(9);
SomeObj 010(10);
a.add(01);
a.add(02);
a.add(03);
a.add(04);
a.add(05);
a.add(06);
a.add(07);
a.add(08);
a.add(09);
a.add(010);
a.output();
cout << endl;
return 0;
Output from main function above:
12345678910
Transcribed Image Text: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. int main() { cout << endl; MyArray<int> a(2); for(int i=0; i<20; i++) { a.add(i+1); } a.output(); MyArray<char> c(20); for(int i=0; i<26; i++) { c.add(static_cast<char>(i+65)); } c.output(); cout << endl; return 0; } Output from main function above: Copy the previous program to a new file and implement the following: 1) A class SomeObj with a single integer id as a data member. 2) This class must have a default and user defined constructor. 3) Create an output function to display the id of the object. 4) Modify the MyArray class to create an array of SomeObj objects. 12345678 9 10 11 12 13 14 15 16 17 18 19 20 ABCDEFGHIJKLMNOPQRSTUVWXYZ Test using following main function. int main() { } cout << endl; MyArray<SomeObj> a(1); SomeObj 01 (1); SomeObj o2(2); SomeObj 03(3); SomeObj 04(4); SomeObj 05(5); SomeObj 06(6); SomeObj 07(7); SomeObj 08(8); SomeObj 09(9); SomeObj 010(10); a.add(01); a.add(02); a.add(03); a.add(04); a.add(05); a.add(06); a.add(07); a.add(08); a.add(09); a.add(010); a.output(); cout << endl; return 0; Output from main function above: 12345678910
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 5 steps with 2 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
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education