-
K-1000 © (31.10.16 13:48) [0]Если ли сабж в Delphi, если есть то с какой версии.
По примеру из C++:
struct color
{
float r;
float g;
float b;
float a;
static color construct(float r = 0.0f, float g = 0.0f, float b = 0.0f, float a = 1.0f) {
color result = { r, g, b, a };
return result;
}
};
-
Игорь Шевченко © (31.10.16 14:05) [1]c 2005
-
DayGaykin © (31.10.16 14:05) [2]
-
NoUser © (31.10.16 15:37) [3]http://docwiki.embarcadero.com/RADStudio/Seattle/en/Structured_Types#Records_.28advanced.29 (D2009+ ?)
> static color construct...
это не сабж в C++, и такое есть в DelphiTColor = record
R,G,B,A : Single;
class function Create(aR:Single=0.0; aG:Single=0.0; aB:Single=0.0; aA:Single=1.0):TColor; static;
end
// var Color : TColor;
// Color := TColor.Create;
но если нужно такstruct color
{
float r;
float g;
float b;
float a;
color(float ar = 0.0f, float ag = 0.0f, float ab = 0.0f, float aa = 1.0f)
{
r = ar;
g = ag;
b = ab;
a = aa;
}
};
// color Color; // компилятор сам добавит вызов конструктора
то такого в Delphi нет (только инициалицация дин. массивов/строк внутри record). -
DayGaykin © (31.10.16 16:04) [4]
> // color Color; // компилятор сам добавит вызов конструктора
>
> то такого в Delphi нет
На C++ это и есть вызов конструктора.
На дельфи переводится как:Color := color.create();