Текущий архив: 2019.03.31;
Скачать: CL | DM;
Вниз
Конструкторы в record Найти похожие ветки
← →
K-1000 © (2016-10-31 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;
}
};
← →
Игорь Шевченко © (2016-10-31 14:05) [1]c 2005
← →
DayGaykin © (2016-10-31 14:05) [2]Есть
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Structured_Types#Records_.28advanced.29
Версию не знаю.
← →
NoUser © (2016-10-31 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 © (2016-10-31 16:04) [4]
> // color Color; // компилятор сам добавит вызов конструктора
>
> то такого в Delphi нет
На C++ это и есть вызов конструктора.
На дельфи переводится как:Color := color.create();
Страницы: 1 вся ветка
Текущий архив: 2019.03.31;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.003 c