Advertisement
Guest User

Untitled

a guest
May 21st, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.63 KB | None | 0 0
  1. class A{
  2.     int i;
  3. public:
  4.     A(int _i=0): i(_i){ printf("A%d ", i); }
  5.     ~A(){ printf("~A%d ", i); }
  6. };
  7.  
  8. class B : public A{
  9.     int x;
  10.     A a;
  11. public:
  12.     B(int _x): A(1), x(_x){}
  13.     ~B(){ printf("~B%d ",x); }
  14. };
  15.  
  16. int zad4(){
  17.     B b(5);            //  (1)
  18.     std::cout << " *[1]*  ";
  19.     A*ptr = new B(3);  //  (2)
  20.     std::cout << " *[2]*  ";
  21.     delete ptr;        //  (3)
  22.     std::cout << " *[3]*  ";
  23.     return 0;          //  (4)
  24. }
  25.  
  26. /*  A1 A0 A1 A0 ~A1 ~B5 ~A0 ~A1
  27.  
  28.     (1) Konstruktor B(5):
  29.         - Klasa B dzidziczy po A więc najpierw uruchaminy jest konstruktor A
  30.             na liście inicjalizacyjnej jest przekazany parametr 1- wypisuje A1       A1
  31.         - Konstruktor bezparametrowy A w obiektach klasy B - wypisuje A0             A0
  32.         - przypisuje x = 5 - Konstruktor B - nie wyswietla nic
  33.     (2) Tworzymy wskaśnik typu A na obiekt typu B:
  34.         - tworzenie wskaźnika nie wywołuje konstruktora A
  35.         - Konstruktor B(3):
  36.             . na liście inicjalizacyjnej konstruktor A(1) - wypisuje A1              A1
  37.             . Konstruktor bezparametrowy A w obiektachklasy B - wypisuje A0          A0
  38.             . przypisuje x = 5 - Konstruktor B - nie wyswietla nic
  39.     (3) Usuwamy wskaznik typu A:
  40.         - Desturuktor typu A z parametrem 1 nadanym przez B - wypisuje ~A1          ~A1
  41.     (4) Koniec programu:
  42.         - Destruktor B z x=5 - wypisuje B5                                          ~B5
  43.         - Destruktor A znajdujacego się w obiektach klasy B - wypisuje ~A0          ~A0
  44.         - Destruktor A z listy inicjalizacyjnej klasy B z - wypisuje ~A1            ~A1
  45. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement