clase de bază virtuale

Atunci când clasa de mai multe baze de moștenire nu pot fi specificate într-un derivat mai mult decât o dată. (Nu sunt: ​​Clasa D: Base, Base ;.)

În același timp, clasa de bază poate fi transferat la un derivat de clasă sous de mai multe ori în mod indirect

clasa D: X publică, Y publică .;

Astfel, diferite clase derivate se pot referi la aceeași clasă Bazo-st, și anumite clase poate face referire la clasele derivate anterioare, schema de moștenire va avea atunci forma:

clasa X: Baza publică virtuală;

clasa Y: Baza publică virtuală;

clasa D: X publică, Y publică .;

Acum, clasa D are doar o singură bază de sub-obiect-clasă. Pentru că este primul exemplu de sistem de moștenire va fi după cum urmează:

Într-o moștenire tipică a unui obiect de clasă derivată conține în subobject compoziția sa a unei clase de bază, în timp ce atunci când clasă derivată moștenire virtuală obiectelor ascunse conține un pointer la o clasă subobject bază virtuală. Acest compilator pointer nu, utilizează în mod explicit atunci când se lucrează cu un obiect pentru a avea acces la datele membre moștenite de la clasa de baza virtuale.

4. cursuri ORGANIZAȚIEI

Pentru a îndeplini lucrarea curs este de a consolida cunoștințele teoretice și dezvoltarea abilităților practice pe PC și programare.

Executarea lucrărilor curs este conceput pentru un semestru și include formarea de clasă și de auto-studiu. Fiecare student este dat de locuri de muncă, semnat de cap.