mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 04:19:27 +02:00
50 lines
993 B
ObjectPascal
50 lines
993 B
ObjectPascal
type
|
|
pbaseclass = ^tbaseclass;
|
|
pderivedclass = ^tderivedclass;
|
|
|
|
tbaseclass = object
|
|
x : longint;
|
|
constructor init;
|
|
destructor done; virtual;
|
|
end;
|
|
|
|
tderivedclass = object(tbaseclass)
|
|
y : longint;
|
|
end;
|
|
|
|
const
|
|
has_error : boolean = false;
|
|
expected_size_for_tbaseclass = sizeof(pointer) + sizeof(longint);
|
|
expected_size_for_tderivedclass = sizeof(pointer) + 2*sizeof(longint);
|
|
|
|
var
|
|
basesize : longint;
|
|
derivedsize : longint;
|
|
|
|
constructor tbaseclass.init;
|
|
begin
|
|
end;
|
|
|
|
destructor tbaseclass.done;
|
|
begin
|
|
end;
|
|
|
|
var
|
|
cb : tbaseclass;
|
|
cd : tderivedclass;
|
|
begin
|
|
cb.init;
|
|
cd.init;
|
|
|
|
basesize:=sizeof(cb);
|
|
Writeln('Sizeof(cb)=',basesize);
|
|
if basesize<>expected_size_for_tbaseclass then
|
|
Writeln('not the expected size : ',expected_size_for_tbaseclass);
|
|
|
|
derivedsize:=sizeof(cd);
|
|
Writeln('Sizeof(ct)=',derivedsize);
|
|
if derivedsize<>expected_size_for_tderivedclass then
|
|
Writeln('not the expected size : ',expected_size_for_tderivedclass);
|
|
|
|
end.
|