Koniu
5/13/2007 10:31:00 PM
Piotr Dembinski napisa3(a):
> Koniu <kooniu@poczta.onet.pl> writes:
>
>> Co oznacza slowo virtual przy dziedziczeniu?
>
> 'U?ycie s3owa kluczowego 'virtual' w kontek?cie dziedziczenia nie
> pozwala na duplikowanie pól danych klasy, w stosunku do której go
> u?yto.', Eugene Kain, 'Od C do C++'
hmm wobec tego mam takie klasy:
class A
{
public:
char a[100];
};
class B:virtual A
{
public:
char a[100];
};
obiekt klasy A zajmuje 100 bajtow
obiekt klasy B zajmuje 204 bajty
wnioski:
tablica a zostala zadeklarowana 2 razy - duplikuje sie tablica
4 bajty poszly na (?) tablice funkcji/skladowych witualnych (?)
natomiast w przypadku
class A
{
public:
char a[100];
};
class B: A
{
public:
char a[100];
};
obiekt klasy A zajmuje 100 bajtow
obiekt klasy B zajmuje 200 bajtow
duplikuje sie.
o co tu chodzi?
PC, windows XP, VC++ 6.0