Вниз
Скачать: CL | DM;

default-значение пирватного булёвого поля   Найти похожие ветки 

← →
Ega23 ©   (2007-10-16 10:50) [0]

type
 TMyClass = class(...)
 private
   FMyBoolField : Boolean;
 end;

После создания экземпляра класса какое значение будет? Абсолютно точно False, или всё-таки переопределить конструктор и в нём явно прописать FMyBoolField := False;  ?


← →
Суслик   (2007-10-16 10:51) [1]

false


← →
Суслик   (2007-10-16 10:52) [2]

class function TObject.InitInstance(Instance: Pointer): TObject;
var
 IntfTable: PInterfaceTable;
 ClassPtr: TClass;
 I: Integer;
begin
 FillChar(Instance^, InstanceSize, 0);  PInteger(Instance)^ := Integer(Self);
 ClassPtr := Self;
 while ClassPtr <> nil do
 begin
   IntfTable := ClassPtr.GetInterfaceTable;
   if IntfTable <> nil then
     for I := 0 to IntfTable.EntryCount-1 do
   with IntfTable.Entries[I] do
   begin
     if VTable <> nil then
       PInteger(@PChar(Instance)[IOffset])^ := Integer(VTable);
   end;
   ClassPtr := ClassPtr.ClassParent;
 end;
 Result := Instance;
end;


← →
Ega23 ©   (2007-10-16 10:53) [3]


>  FillChar(Instance^, InstanceSize, 0);


Всё понял, вопрос снят.

З.Ы.
Дима, перерегистрируй анкету.


← →
Ins ©   (2007-10-16 10:55) [4]

Абсолютно точно, если вы конечно не перекроете NewInstance. Можете, кстати, посмотреть реализацию этого метода в классе TObject. Там видно, что память под экземпляр в самом начале заполняется нулями.


← →
Сусл ©   (2007-10-16 10:58) [5]


> Дима, перерегистрируй анкету.

ок, я немного подрос.


← →
Игорь Шевченко ©   (2007-10-16 11:03) [6]


> После создания экземпляра класса какое значение будет? Абсолютно
> точно False


До тех пор, пока Borland считает False нулем :)


← →
Сусл ©   (2007-10-16 11:11) [7]

борланд нам не указ! пусть алм свою продают.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
2-1192539115
фыва
2007-10-16 16:51
2007.11.11
TCheckListBox


15-1191914171
Думкин
2007-10-09 11:16
2007.11.11
Геормания, Германия - нас и тут неплохо кормят (второй попытк).


11-1176370217
Dmitry___
2007-04-12 13:30
2007.11.11
Unicode и Memo.Selection


15-1191352812
GanibalLector
2007-10-02 23:20
2007.11.11
Стишок...меня улыбнуло.


15-1190992526
vasIZmax
2007-09-28 19:15
2007.11.11
True, False и Почти (Almost, по англ. по-моему))))




   Наверх