Guest User

Untitled

a guest
Apr 23rd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #ifndef ITALHEADER_H_INCLUDED
  2. #define ITALHEADER_H_INCLUDED
  3. using namespace std;
  4. class Arr
  5. {
  6.  
  7. int cap;
  8. unsigned int numOfEl;
  9. string arr;
  10. void expand()
  11. {
  12. cap *=2;
  13. string temparr = new string[cap];
  14.  
  15. for(size_t i= 0; i < numOfEl; i++)
  16. {
  17.  
  18. temparr[i] = new char*(arr[i]);
  19. }
  20. for(size_t i = 0; i<numOfEl; i++)
  21. {
  22. delete arr[i];
  23. }
  24. delete[]arr;
  25. arr=temparr;
  26. }
  27. int getSize()const
  28. {
  29. return numOfEl;
  30. }
  31. void add(char *el)
  32. {
  33. if(numOfEl>=cap)
  34. expand();
  35.  
  36. arr[numOfEl++] = new char*(el);
  37. }
  38. void getAt(int index)const
  39. {
  40. if(index < 0|| index >= numOfEl)
  41. throw("Out of bounds exeption!");
  42. return *arr[index];
  43. }
  44. void popBack()
  45. {
  46. if(numOfEl>0)
  47. delete arr[--numOfEl];
  48. }
  49. public:
  50. Arr()
  51. {
  52. cap = 10;
  53. }
  54. ~Arr()
  55. {
  56. for(size_t i = 0; i<numOfEl; i++)
  57. {
  58. delete arr[i];
  59. }
  60. delete[]arr;
  61. }
  62.  
  63.  
  64. };
  65.  
  66.  
  67.  
  68.  
  69.  
  70. #endif // ITALHEADER_H_INCLUDED
Add Comment
Please, Sign In to add comment