C++: Unterschied zwischen -> und .

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

Geeecko

Betreff: C++: Unterschied zwischen -> und .

BeitragSo, Jun 15, 2008 11:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!
Ich hab mal eine Frage, und zwar was ist der Unterschied zwischen -> und .?
In C++. Habe fast eine Stunde gesucht, aber nichts gefunden.
Danke.

lg MD

mahe

BeitragSo, Jun 15, 2008 11:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Punkt funktioniert nicht wenn Du einen Zeiger auf eine Klasse hast.
Du musst den Zeiger erst dereferenzieren.

Dies geschieht entweder so:
Code: [AUSKLAPPEN]
(*zeiger_auf_klasse).member_der_klasse


oder eben mit dem Pfeil:
Code: [AUSKLAPPEN]
zeiger_auf_klasse->member_der_klasse
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,

Geeecko

BeitragSo, Jun 15, 2008 11:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ahhh Smile
Danke mahe Smile
 

#Reaper

Newsposter

BeitragSo, Jun 15, 2008 13:09
Antworten mit Zitat
Benutzer-Profile anzeigen
So, mal blöde Frage:
Wann habe ich nun einen Zeiger auf eine Klasse, bzw. wann nicht? (Ja, ich kann kein C++ Sad)

Wenn ich z.B. folgedes habe:
meineKlasse testVar;

Muss ich dann testVar-> oder testVar. benutzten?
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Caesium

BeitragSo, Jun 15, 2008 13:26
Antworten mit Zitat
Benutzer-Profile anzeigen
#Reaper hat Folgendes geschrieben:
So, mal blöde Frage:
Wann habe ich nun einen Zeiger auf eine Klasse, bzw. wann nicht? (Ja, ich kann kein C++ Sad)

Wenn ich z.B. folgedes habe:
meineKlasse testVar;

Muss ich dann testVar-> oder testVar. benutzten?



Code: [AUSKLAPPEN]
class CExample
{
     public:
          int var;

          void examplefunction()
          {
               //tu was auch immer
          };
};


Code: [AUSKLAPPEN]
CExample *instance; //pointer


wenn nun auf eine instanz dieser klasse über einen pointer zugegriffen wird, muss es eben so aussehen (wie es mahe oben schon beschrieben hat):
Code: [AUSKLAPPEN]
(*instance).examplefunction();

oder
Code: [AUSKLAPPEN]
instance->examplefunction();
.
ist im endeffekt das selbe.

gruß,
caesium
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. Smile

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group