VEndymionV

Untitled

Sep 12th, 2018
597
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. // 1. a) klasa która posiada 2 proste prywatne atrubuty, jeden z nich jest const
  2. class A {
  3. public:
  4.     // const musi zostać zadeklarowany w liście inicjalizacyjnej
  5.     A() : atrybut2_const(0) {
  6.  
  7.     }
  8.     // 1. b1) funkcja do przydzielania pamięci na tablice obiektów
  9.     virtual A *przydziel_pamięć_na_tablicę_obiektów(int size) {
  10.  
  11.         return (new A[size]);
  12.     }
  13.     // 1. b2) funkcja do przydzielania pamięci na tablice wskaźników na obiekty
  14.     virtual A **przydziel_pamięć_na_tablicę_wskaźników_na_obiekty(int size) {
  15.  
  16.         A **tablica_wskaźników = new A*[size];
  17.        
  18.         for (int i = 0; i < size; ++i) {
  19.             tablica_wskaźników[i] = new A();
  20.         }
  21.         return tablica_wskaźników;
  22.     }
  23.     // 1. c1) usuwanie tablicy obiektów
  24.     virtual void usuń_pamięć_tablicy_obiektów(A *do_usunięcia) {
  25.  
  26.         delete[] do_usunięcia;
  27.     }
  28.     // 1. c2) usuwanie tablicy wskaźników na obiekty
  29.     virtual void usuń_pamięć_wskaźników_na_obiekty(A **do_usunięcia, int size) {
  30.  
  31.         for (int i = 0; i < size; ++i) {
  32.             delete do_usunięcia[i];
  33.         }
  34.         delete do_usunięcia;
  35.     }
  36.     // 1. d1) pokaż obiekty
  37.     void pokaż() {
  38.         cout << "atrybut1: " << atrybut1 << endl;
  39.         cout << "atrybut2_const: " << atrybut2_const << endl;
  40.     }
  41.     // 1. d2) zmień obiekt
  42.     void zmień_atrybut1(int nowy_atrybut1) {
  43.         atrybut1 = nowy_atrybut1;
  44.     }
  45.    
  46. private:
  47.     int atrybut1;
  48.     const int atrybut2_const;
  49. };
Advertisement
Add Comment
Please, Sign In to add comment