![]() |
[C++] Anfängerproblem mit Klassen (Zeigern?)
Hallo. Fang grad mit C++ an (mit BDS 2006 Trial) und hät da mal ne Frage:
Folgender Code:
Code:
Fragen:
class Klasse
{ public: char* Caption; }; Klasse *Klasse1; int main(void) { Klasse1->Caption = "blub"; return 0; } 1. Beim Ausführen kommt der Fehler "Zugriffsverletzung" 2. Wenn ich den Zeiger lokel in main pflanze, dann funktioniert es. 3. Kann das daran liegen dass ich das mit den Zeigern noch nicht wirklich verstanden habe? Zeigt *Klasse1 jetzt einfach auf eine neue Instanz von Klasse? Ich habs einfach mal kurz so gemacht wie in der VCL (TForm1 *Form1) Sorry aber die Zeigertutorials sind alle n bischn schwer verständlich und n Buch wollt ich mir nicht extra kaufen. 4. Ist die Codeformatierung der Klasse richtig? Bezweifele ich nämlich ... Danke schonmal! //Edit: Titel geändert. |
Re: [C++] Anfängerproblem mit Klassen (Zeigern?)
Zitat:
2. Sollte eigentlich nicht, es sei denn, du hast es nicht als Pointer To Class deklariert. |
Re: [C++] Anfängerproblem mit Klassen (Zeigern?)
Zitat:
Also so?
Code:
Das funktioniert.
class Klasse
{ public: char* Caption; }; Klasse *Klasse1; int main(void) { Klasse1 = new Klasse; Klasse1->Caption = "blub"; delete Klasse1; return 0; } Aber wieso muss ich die Instanz nicht erzeugen wenn ich *Klasse1 lokal deklariere? Und was ist der Unterschied zwischen
Code:
Glaube neuer Thread lohnt sich dafür nicht.
Klasse *Klasse1;
//und Klasse* Klasse1; //? |
Re: [C++] Anfängerproblem mit Klassen (Zeigern?)
Zitat:
Zitat:
|
Re: [C++] Anfängerproblem mit Klassen (Zeigern?)
Cool danke klappt, dadurch wird gleich alles viel logischer wenn man weiß, dass es egal ist auf welcher Seite der Stern steht :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 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-2025 by Thomas Breitkreuz