Zitat von
Chewie:
Ich könnte auch damit leben, die Objekte per Zeiger anzusprechen. Dort taucht aber das Problem auf, dass ich für den Zugriff auf die Elemente der Matrix den ()-Operator überladen habe und das aber nicht bei Zeigern funktioniert (zumindest weiß ich nicht wie).
Du meinst den Typecast-Operator? "sometype somevar1 = (*somevar2);" tut's nicht?
Zitat von
Chewie:
Delphi-Quellcode:
class TBlabla
public
class function GetSpecialObject(type: Integer): TBlaBla;
end;
function TBlabla.GetSpecialObject(type: Integer): TBlaBla;
begin
//hier irgendein Objekt erstellen oder auch ein vorhandes nehmen
//z.B.
Result := TBlabla.Create(-1, 1, type);
end;
Meinst du Referenzen auf das Result? Ich würde das schlechten Stil nennen. Meine Objekte sind immer Pointer, es sei denn sie sind strikt an einen Codeblock gebunden und ich will sie nicht manuell im Speicher verwalten.
However, folgendes sollte zumindest kompilieren:
Code:
class CSomeClass
{
public:
static CSomeClass& GetSpecialObject(type: int);
};
CSomeClass& CSomeClass::GetSpecialObject(type: int)
{
CSomeClass *temp = new CSomeClass(parameters, for, constructor);
return (*temp);
}
Ungetestet, ich weiß also nicht, ob er soetwas schluckt, aber auf jeden Fall das delete nicht vergessen
Schlecht ist es
IMHO trotzdem