Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

#include using namespace std; const int SIZE=5; /*******************************

ID: 3554335 • Letter: #

Question

#include

      using namespace std;

      const int SIZE=5;

      /*********************************************************************/

      // Class declaraton for Array_Class

      /*********************************************************************/

      template

      class Array_Class

      {

      public:

            Array_Class();

            ~Array_Class();

            void Add(New_Type item);

            int Search(New_Type item);

            void Print();

      private:

            New_Type *A;

            int count;

      };

      /*********************************************************************/

      // Class definitions for the member function of Array_Class

      /*********************************************************************/

      template

      Array_Class::Array_Class()

      {

            cout<<"You are inside the default constructor ";

            cout<<"New_Type has a size of "<

            count=0;

            A = new New_Type[SIZE];

      }

      template

      Array_Class::~Array_Class()

      {

            cout<<"The Destructor has been called ";

            delete [] A;

            count = 0;

            A = 0;

      }

      template

      void Array_Class::Add(New_Type item)

      {

            if (count

            {

                  A[count++] = item;

            }

            else

            {

                  cout<<"Array is Full ";

            }

      }

           

      template

      int Array_Class::Search(New_Type item)

      {

            int i;

            for(i=0; i

            {

                  if (item == A[i])

                  {

                        return i;

                  }

            }

            return -1;

      }

      template

      void Array_Class::Print()

      {

            int i;

            for(i=0; i

            {

                  cout<<"A[i"<

            }

      }

      int main()

      {

            return 0;

      }

adding the integers 1,2,3,4 and 5 to my_Ints;

adding the characters a, b, c and d to my_Chars;

printing the Array_Class objects my_String, my_Ints and my_Chars;

searching my_String for the string SayYes and No.

Explanation / Answer

#include<iostream>

#include<cstring>
using namespace std;
const int SIZE=5;
/*********************************************************************/
// Class declaraton for Array_Class
/*********************************************************************/
template<class New_Type>
class Array_Class
{
public:
Array_Class();
~Array_Class();
void Add(New_Type item);
int Search(New_Type item);
void Print();
private:
New_Type *A;
int count;
};
/*********************************************************************/
// Class definitions for the member function of Array_Class
/*********************************************************************/
template<class New_Type>
Array_Class<New_Type>::Array_Class()
{
cout<<"You are inside the default constructor ";
cout<<"New_Type has a size of "<<sizeof(New_Type)<<endl;
count=0;
A = new New_Type[SIZE];
}
template<class New_Type>
Array_Class<New_Type>::~Array_Class()
{
cout<<"The Destructor has been called ";
delete [] A;
count = 0;
A = 0;
}
template<class New_Type>
void Array_Class<New_Type>::Add(New_Type item)
{
if (count<SIZE)
{
A[count++] = item;
}
else
{
cout<<"Array is Full ";
}
}

template<class New_Type>
int Array_Class<New_Type>::Search(New_Type item)
{
int i;
for(i=0; i<SIZE; i++)
{
if (item == A[i])
{
return i;
}
}
return -1;
}
template<class New_Type>
void Array_Class<New_Type>::Print()
{
int i;
for(i=0; i<SIZE;i++)
{
cout<<"A["<<i<<"] : "<<A[i]<<" ";
}cout<<endl;
}
int main()
{
Array_Class<string> my_String;
Array_Class<int> my_Ints;
Array_Class<char> my_Chars;
my_String.Add("Hello");
my_String.Add("GoodBye");
my_String.Add("ComeHere");
my_String.Add("SayNo");
my_String.Add("SayYes");
  
my_Ints.Add(1);
my_Ints.Add(2);
my_Ints.Add(3);
my_Ints.Add(4);
my_Ints.Add(5);
  
my_Chars.Add('a');
my_Chars.Add('b');
my_Chars.Add('c');
my_Chars.Add('d');
my_Chars.Add('e');
  
my_String.Print();
my_Ints.Print();
my_Chars.Print();
cout<<endl;
cout<<my_String.Search("SayYes")<<endl;
cout<<my_String.Search("No")<<endl;
return 0;
}