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 0konstruktory i destruktory cz2 1konstruktory i destruktory cz2 3konstruktory i destruktory cz1 5konstruktory i destruktory cz1 4konstruktory i destruktory cz3 4świerszczyński,programowanie obiektowe,Konstruktory i destruktorykonstruktory i destruktory cz3 0konstruktory i destruktory cz1 2konstruktory i destruktory cz1 0konstruktory i destruktory cz3 1konstruktory i destruktory cz1 1konstruktory i destruktory cz1 3konstruktory i destruktory cz3 2konstruktor destruktorSEM8 [KONSTRUKCJE ZESPOLONE CZ2] 2013konstruktory i destruktory cz3 3więcej podobnych podstron