Advertisement
Guest User

Untitled

a guest
Jul 30th, 2014
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. const int SIZE = 5;
  7.  
  8. template <class New_Type>
  9. class Array_Class
  10. {
  11. public:
  12. Array_Class();
  13. ~Array_Class();
  14. void Add(New_Type item);
  15. int Search(New_Type item);
  16. void Remove(New_Type item);
  17. void Print();
  18.  
  19.  
  20. private:
  21. New_Type *A;
  22. New_Type word;
  23. int count;
  24. };
  25.  
  26. template <class New_Type>
  27. Array_Class<New_Type>::Array_Class()
  28. {
  29. cout << "You are inside the default constructor.n";
  30. cout << "New_Type has a size of " << sizeof(New_Type) << " bytesnn";
  31. count = 0;
  32. A = new New_Type[SIZE];
  33. }
  34.  
  35. template <class New_Type>
  36. Array_Class<New_Type>::~Array_Class()
  37. {
  38. cout << "The Destructor has been called.nn";
  39. delete[] A;
  40. count = 0;
  41. A = 0;
  42. }
  43.  
  44. template <class New_Type>
  45. void Array_Class<New_Type>::Add(New_Type item)
  46. {
  47. if (count<SIZE)
  48. {
  49. A[count++] = item;
  50. }
  51. else
  52. {
  53. cout << "The array is full.n";
  54. }
  55. }
  56.  
  57.  
  58. template <class New_Type>
  59. int Array_Class<New_Type>::Search(New_Type item)
  60. {
  61. int i;
  62.  
  63. for (i = 0; i<count; i++)
  64. {
  65. if (item == A[i])
  66. {
  67. return i;
  68. }
  69. }
  70. return -1;
  71. }
  72.  
  73. template <class New_Type>
  74. void Array_Class<New_Type>::Remove(New_Type item)
  75. {
  76. int i;
  77. word = item;
  78. for (i = 0; i < count; i++)
  79. {
  80. if (item == A[i])
  81. {
  82.  
  83. delete A[i];
  84.  
  85. }
  86.  
  87. }
  88.  
  89.  
  90. }
  91.  
  92. template <class New_Type>
  93. void Array_Class<New_Type>::Print()
  94. {
  95. int i;
  96.  
  97. for (i = 0; i<count; i++)
  98. {
  99. cout << "A[" << i << "] = " << A[i] << endl;
  100. }
  101. }
  102.  
  103. int main()
  104. {
  105. Array_Class<string> my_String;
  106. Array_Class<int> my_Ints;
  107. Array_Class<char> my_Chars;
  108.  
  109. my_String.Add("Hello");
  110. my_String.Add("GoodBye");
  111. my_String.Add("ComeHere");
  112. my_String.Add("SayNo");
  113.  
  114. my_Chars.Add('a');
  115. my_Chars.Add('b');
  116. my_Chars.Add('c');
  117. my_Chars.Add('d');
  118. my_Chars.Add('e');
  119. my_Chars.Add('f');
  120. my_Chars.Add('g');
  121.  
  122. my_String.Print();
  123. my_Ints.Print();
  124. my_Chars.Print();
  125.  
  126. cout << endl;
  127.  
  128. my_String.Search("Hello");
  129. my_String.Search("SayNo");
  130.  
  131. my_String.Remove("GoodBye");
  132.  
  133. my_String.Print();
  134.  
  135. return 0;
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement