#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;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.