Hur kan jag använda operatorer för en klass som i c++?
jag vill kunna ha en class som heter tex TPoint som innehåller X och Y. Sen vill jag kunna skriva Point3 := Point1 + Point2;
5 svar · 328 visningar · startad av Alpha II
Hur kan jag använda operatorer för en klass som i c++?
jag vill kunna ha en class som heter tex TPoint som innehåller X och Y. Sen vill jag kunna skriva Point3 := Point1 + Point2;
var
p1,p2,p3 : TPoint;
begin
p1.X := p2.X + p3.X;
p1.Y := p2.Y + p3.Y;
end;
var de nåt sånt du hade tänkt dig?
Jag kan inte Delphi, men det du ska använda, kallas "Overloaded operator". Det står om sådana här: http://www.freepascal.org/docs-html/ref/node12.html
Jag tror inte det går i Delphi att göra som du skulle vilja... Men en funktion som adderar två punkter och returnerar resultatet skulle kunna se ut så här:
function AddPoints(p1, p2: TPoint): TPoint;
begin
Result.x := p1.x + p2.x;
Result.y := p1.y + p2.y
end;
Lägg den på något ställe som är tillgängligt från varje ställe där du vill addera punkter. Så blir det i alla fall bara en kodrad varje gång...
p3 := AddPoints(p1, p2);
Notera också att TPoint är en typ i Delphi, så vill du lösa det med en egen klass ska du kalla den något annat.
Kasst. Tror jag ska börja koda i c++. Problemet är att jag hela tiden stöter på problem i c++ som jag inte har en aning hur man löser.