3574671405

3574671405



2. Z polimorfizmem - wywołany zostanie wskaźnik do odpowiedniej metody przechowywany w tablicy metod wirtualnych obiektu. Jeżeli do x przypisaliśmy obiekt klasy derive, wywoła się przeciążona metoda. Jeżeli zaś obiekt klasy base, wtedy podstawowa.

Czym są metody (funkcje) wirtualne?

Są to metody poprzedzone słowem kluczowym virtual. Są realizacją polimorfizmu. Zadeklarowanie metody jako wirtualnej powoduje, że jej adres zostaje zapamiętany w tablicy metod wirtualnych, do której wskaźnik trafia do każdego obiektu tej klasy. Wywołując taką metodę nawet po zrzutowaniu obiektu do klasy nadrzędnej, zostanie wywołana "ta właściwa" - wybór konkretnej metody następuje w momencie wykonania programu, a nie kompilacji, na podstawie tablicy metod wirtualnych.

Czym się różni dziedziczenie zwykłe od wirtualnego?

Różnice dotyczą dziedziczenia wielokrotnego. Załóżmy następującą sytuację: klasa D dziedziczy z B i C, a obie te klasy dziedziczą z klasy A.

1.    Przy dziedziczeniu zwykłym wszystkie elementy klasy A zostaną powielone dwukrotnie w klasie D, co prowadzi do niejednoznaczności.

2.    Przy dziedziczeniu wirtualnym wszystkie elementy klasy A wystąpią w klasie D dokładnie jeden raz.

Kiedy klasa powinna mieć destruktor wirtualny?

Klasa powinna mieć destruktor wirtualny zawsze, gdy mamy w niej choć jedną metodę wirtualną.

Czy i ew. kiedy można jawnie wywołać destruktor klasy?

W sytuacji gdy korzystamy z "placement new" (umieszczanie obiektów w ściśle określonym miejscu pamięci), bierzemy całkowitą odpowiedzialność za zniszczenie stworzonych tak obiektów. Wtedy można, a nawet trzeba jawnie wywołać destruktor.

W jakiej kolejności niszczone są obiekty?

Obiekty są niszczone w odwrotnej kolejności do tej, jak były tworzone (tj. pierwszy utworzony = ostatni zniszczony). Analogiczna sytuacja dotyczy obiektów umieszczonych w tablicach.

W jakiej kolejności wywoływane są destruktory obiektu?

Kolejno od najwyżej położonej klasy pochodnej do klasy bazowej. Jeżeli jakaś klasa dziedziczy po kilku innych, ich destruktory wywoływane są w odwrotnej kolejności, niż zostały wymienione na liście dziedziczonych klas.

3 z 13



Wyszukiwarka

Podobne podstrony:
Rozwiń skrót VMTP. Virtual Method Table Pointer- wskaźnik do tablicy metod wirtualnych używanej przy
19.    Dodaj do metody main wywołania obu funkcji. Dobierz odpowiednie parametry
Poznaj C++ w$ godziny0155 144 Godzina 10Usuwanie obiektów Kiedy wywołasz delete na wskaźniku do obie
45192 IMG$29 (3) 310 ŁA-iaMiwuiw<włow ładunku powierzchni osadu wskaźnik absorpcyjny, odpowiednio
operator wciśnie klawisz odpowiadający literze A, sygnał elektryczny zostanie skierowany do pierwsze
Od logiki projektu do logiki ewaluacji Krok 4. Jakie wskaźniki zostaną wykorzystane do sprawdzenia p
scenariusze zajęć pomogą Państwu w znalezieniu odpowiedniej metody przeprowadzenia lekcji. Do nauczy
Org pracy biurowej ksero 5 Metody przechowywania dokumentów 111 Przykład 12 Spis zdawczo-odbiorczy
Wymagania odnośnie zespołu - przeszkolony zespól odpowiednio do stosowanej metody. 6-12
Przechowywanie danych osobowych może służyć także do odpowiedzi na pytania użytkownika, udziału w
img48 Formularze 4/4 Zależnie od metody, zmienne trafiają do odpowiednich tablic asocjacyjnych. Dane
48542 Obraz (1560) ?48 Anali/u przychodów do wskaźnika, powinien odpowiadać specyfice sektora. Są se
ANSI C 0 8 ŚRODOWISKO SYSTEMU UNIX Każde wywołanie funkcji readdir zwraca wskaźnik do informacji o

więcej podobnych podstron