konstruktory i destruktory cz2 2






Programowanie obiektowe




Jawne wywołanie konstruktora





Obiekt może zostać stworzony poprzez jawne wywołanie konstruktora.


....
samochod("Wartburg",127000,12.);
...


W efekcie dostajemy obiekt, który nie ma nazwy, a czas jego życia ogranicza się do
wyrażenia, w którym go użyto.




Konstruktor nie jest wywoływany na rzecz jakiegoś obiektu, bo dopiero sam go tworzy.
Dlatego w wywołaniu konstruktora nie stosuje się notacji kropkowej.




Przykład z jawnym wywołaniem konstruktora


Funkcjonalnie równoważne definicje

// samochod wwa1123=samochod("Toyota Avensis",1200,20.7); nieefektywne
samochod wwa1123("Toyota Avensis",1200,20.7); // tak lepiej

różnią się ilością pracy wykonaną przez program:

W pierwszym przypadku rezerwowana jest pamięć dla
wwa1123, tworzony jest obiekt chwilowy samochod("Toyota Avensis",1200,20.7) bez nazwy,
następnie jego zawartość jest kopiowana do pamięci zarezerwowanej dla wwa1123,
a obiekt chwilowy jest niszczony.
W drugim przypadku rezerwowana jest pamięć dla wwa1123 i zaraz wołany jest
konstruktor, który tę pamięć stosownie inicajlizuje.





(4) (c) Marian Mrozek, Kraków - Nowy Sącz, 1997-2001





Wyszukiwarka

Podobne podstrony:
konstruktory i destruktory cz2 0
konstruktory i destruktory cz2 1
konstruktory i destruktory cz2 3
konstruktory i destruktory cz1 5
konstruktory i destruktory cz1 4
konstruktory i destruktory cz3 4
świerszczyński,programowanie obiektowe,Konstruktory i destruktory
konstruktory i destruktory cz3 0
konstruktory i destruktory cz1 2
konstruktory i destruktory cz1 0
konstruktory i destruktory cz3 1
konstruktory i destruktory cz1 1
konstruktory i destruktory cz1 3
konstruktory i destruktory cz3 2
konstruktor destruktor
SEM8 [KONSTRUKCJE ZESPOLONE CZ2] 2013
konstruktory i destruktory cz3 3

więcej podobnych podstron