![]() |
Re: Vergleich: Delphi - C++
Delphi-Quellcode:
In diesem Fall ist PaintBox1 ein Pointer auf ein Paintbox-Objekt
PaintBox1->Canvas->TextOut(10, Y, IntToStr(AStruct->I));
Delphi-Quellcode:
Hier hast du ein waschechtes Paintbox-Objekt
PaintBox1.Canvas->TextOut(10, Y, IntToStr(AStruct->I));
|
Re: Vergleich: Delphi - C++
OK, vielen Dank!
@Luckie: Danke für dein Google-Link, der erste Eintrag ist echt genial! :D |
Re: Vergleich: Delphi - C++
|
Re: Vergleich: Delphi - C++
|
Re: Vergleich: Delphi - C++
ein paar beispiele:
Code:
Aufruf von Methoden:
Code in C:
RECT r; PRECT pr; r.left = r.right = 0; pr = &r; // pr zeigt jetzt auf r if(pr->left != r.left) // dieser Fall wird nie eintreten Code in Object Pascal: var r: TRect; pr: PRect; begin r.Left := 0; r.Right := 0; pr := @r; if(pr^.left <> r.left) // dieser Fall wird nie eintreten
Code:
Code in C++:
Instanz->Methode(...); Code in Delphi: Instanz.Methode(...); // wobei hier ein ^. (entsprechend zu dem -> in C++ angebracht waere weil Instanz eigentlich nur ein Pointer ist) |
Re: Vergleich: Delphi - C++
Hui!
Vielen vielen Dank! :thumb: Das ist natürlich echt super, alles so schön gegenüber gestellt. Vielen Dank auch an euch 3! |
Re: Vergleich: Delphi - C++
Zitat:
Alse in C++
Delphi-Quellcode:
in Delphi Language
CEinKlasse klasse;
klasse.Create(); klasse.MachWas();
Delphi-Quellcode:
oder auch ein Pointer auf ein Objekt:
var klasse : TEineKlasse;
begin klasse := TEineKlasse.Create(); klasse.MachWas; in C++
Delphi-Quellcode:
in Delphi Language
CEinKlasse * klasse;
klasse->Create(); klasse->MachWas();
Delphi-Quellcode:
var klasse : ^TEineKlasse;
begin klasse := @TEineKlasse.Create(); klasse^.MachWas; |
Re: Vergleich: Delphi - C++
Hallo Sanchez, das stimmt so nicht ganz.
In C++ würde
Code:
zwei unterschiedliche Exemplare beschreiben, wohingegen
MyClass instance1;
MyClass instance2; //... instance2= instance1; // shallow copy instance2.modifyInstance; // doesn't touch instance1
Code:
dem Verfahren in Delphi entspricht.
MyClass *instance1;
MyClass *instance2; //... instance2= instance1; // reference copy (identical instance!) instance2->modifyInstance; // !modifies also instance1 Deine Variante
Delphi-Quellcode:
entspricht hingegen
var
myInstance : @TMyClass;
Code:
in C++
MyClass **instance1;
|
Re: Vergleich: Delphi - C++
@Choose
Stimmt, in Delphi ist die Instanz ja bereits eine Referenz aufs Objekt :wall: Merken, erst denken dann schreiben :mrgreen: |
Re: Vergleich: Delphi - C++
da hast du recht, mein Fehler. Naja hab mit C++ nur einmal vor langer zeit was gemacht, ansi c rulez ;)
edit: oder auch nicht ;) schon lang nix mehr mit delphi gemacht ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz