![]() |
Vergleich: Delphi - C++
Moin!
Kennt jemand einen Link, wo die Parallelitäten zu C++ und Delphi, bzw. die Unterschiede dargestellt sind? Ich möchte langsam mal mit C++ anfangen, und da ich Delphi einigermaßen beherrsche, möchte ich mir das "Umlernen" dadurch erleichtern. In der OH sind teilweise schöne Beispiele, je in C++ und Delphi verfasst, wo man die Ähnlichkeiten sieht, aber so richtig viel hilft mir das auch nicht. ;) Z.B. heißt in C++ das var glaube ich float. Solche Befehle meine ich. Ich wäre echt dankbar, wenn jemand gute Links kennt, natürlich, wenn ihr die Befehle alle auswendig kennt, könnt ihr sie ruhig hier posten. :mrgreen: |
Re: Vergleich: Delphi - C++
Zitat:
|
Re: Vergleich: Delphi - C++
Ich habe in der Schule C, C++ gelernt. Erst durch die arbeit bin ich zu Delphi gekommen.
Allerdings ist da nicht besonders viel um. Wenn man eine moderne Programmiersprache beherrscht hat man eine andere bald. Es sind eben immer ein paar Eigenheiten, die man bald hat. Ich finde Pascal um einiges lesbarer. Am Anfang störte mich immer, dass ich lokale Variablen nur im Funktionskopf deklarieren kann. Dadurch steigt aber mE die Übersichtlichkeit immens. In C find ich die Klammern hinter jeden Funktionsaufruf besser. Dadurch ist sofort erkennbar, dass es sich um eine Funktion und nicht um eine Variable handelt. Das größte Problem bei einer neuen Programmiersprache ist aber nicht die Symantik, sondern die Kenntnis der zugrundeliegenden Klassenbibliothek (VCL, MFC, ...). |
Re: Vergleich: Delphi - C++
auf der HP von scp ist eine entsprechender Text. Es gibt auch einen Text, da hat das jemand als Teil einer Diplomarbeit oder so gemacht: [google]Vergleich delphi c++[/google]
|
Re: Vergleich: Delphi - C++
hier ist auch eine nette gegenüberstellung (tw. etwas abstrakt):
![]() :-) thomas |
Re: Vergleich: Delphi - C++
Vielen Dank euch allen!
Muss man eigentlich bei C++ den Pfeil (->) immer so von Hand eintippen? In Delphi geht das so schön mit dem Punkt (.). [Edit]@merlin17: Der Link geht irgendwie nicht :gruebel:[/Edit] |
Re: Vergleich: Delphi - C++
In C gibts auch den Punkt
Das -> in C entspricht ^. in Delphi. |
Re: Vergleich: Delphi - C++
Zitat:
der punkt in C bedeutet das selbe wie in Delphi (zumindest bei z.B. structs, bei Methoden etc von Klassen reicht in Delphi ein . aus wobei eigentlich ein ^. richtiger waere) |
Re: Vergleich: Delphi - C++
Zitat:
Code:
Da sieht das irgendwie nicht so aus, naja, gut, dass es den Punkt auch gibt :)
PaintBox1->Canvas->TextOut(10, Y, IntToStr(AStruct->I));
|
Re: Vergleich: Delphi - C++
Zitat:
|
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 14:10 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