Voldemord

zadanie3

Oct 25th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.94 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class TabIntArr
  6. {
  7.     int tabsIntInArr[10];
  8.     int curTabLenght;
  9.     static int allObjects;
  10. public:
  11.     int set (int * tablica, int dlugosc);
  12.     int get (int indeks);
  13.     void wypisz();
  14.     static int ile();
  15.     TabIntArr();
  16.     ~TabIntArr();
  17. };
  18.  
  19. int main()
  20. {
  21.     int ar[] = {1,2,3,4,5,6};
  22.  
  23.     TabIntArr * a;
  24.     TabIntArr * b;
  25.     TabIntArr * c;
  26.  
  27.     a = new TabIntArr;
  28.     b = new TabIntArr;
  29.     c = new TabIntArr;
  30.  
  31.     a -> set( ar , sizeof(ar)/sizeof(ar[0]));
  32.     a -> wypisz();
  33.     delete a;
  34.  
  35.     cout << "Tyle zostalo obiektow: " << TabIntArr::ile() << endl;
  36.  
  37.     return 0;
  38. }
  39.  
  40.  
  41. int TabIntArr::allObjects = 0;
  42.  
  43. int TabIntArr::get(int indeks)
  44. {
  45.     if(indeks <= curTabLenght)
  46.     {
  47.         return tabsIntInArr[indeks];
  48.     }
  49.     else if(indeks < 0)
  50.     {
  51.         cout << "Przekroczono rozmiar tablicy - indeks jest ujemny" << endl;
  52.     }
  53.     else
  54.     {
  55.         cout << "Przekroczono rozmiar tablicy - indeks wykracza po za zakres" << endl;
  56.     }
  57. }
  58.  
  59. int TabIntArr::set(int * tablica, int dlugosc)
  60. {
  61.     int tabsIntInArrLength = sizeof(tabsIntInArr)/sizeof(tabsIntInArr[0]);
  62.  
  63.     if(tabsIntInArrLength == 0)
  64.     {
  65.         cout << "Przekroczono rozmiar tablicy - bazowa tablica jest pusta" << endl;
  66.         return -1;
  67.     }
  68.     if(dlugosc > tabsIntInArrLength)
  69.     {
  70.         cout << "Przekroczono rozmiar tablicy - nowa tablica jest zbyt duza" << endl;
  71.         return -1;
  72.     }
  73.     for (int i = 0; i < dlugosc; i++)
  74.     {
  75.         tabsIntInArr[i] = tablica[i];
  76.  
  77.     }
  78.     curTabLenght = dlugosc;
  79. }
  80.  
  81. void TabIntArr::wypisz()
  82. {
  83.     cout << "Wypisuje dane" << endl;
  84.     for(int i = 0; i < curTabLenght; i++)
  85.     {
  86.         cout << tabsIntInArr[i] << endl;
  87.     }
  88. }
  89.  
  90. int TabIntArr::ile()
  91. {
  92.     return TabIntArr::allObjects;
  93. }
  94.  
  95. TabIntArr::TabIntArr()
  96. {
  97.     TabIntArr::allObjects++;
  98. }
  99.  
  100. TabIntArr::~TabIntArr()
  101. {
  102.     TabIntArr::allObjects--;
  103. }
Add Comment
Please, Sign In to add comment