Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Funktionsaufruf außerhalb der Klasse

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
02.11.2004, 10:47 Uhr
~HerBert
Gast


Hi
Ich hab da mal ne Frage zum Funktionsaufruf.

Ich habe in der Klasse CData folgende Funktion definiert:

static int GetDataFromPort(int start,HWND hView);

Jetzt möchte ich diese Funktion in der Datei Connect.cpp aufrufen in der ich Data.h include.

Da habe ich ja 2 Möglichkeiten:

1. CData::GetDataFromPort(start,hView);


oder

2. Ich lege ein Objekt der Klasse an:

CData data;
und rufe an auf:

data.GetDataFromPort(start,hView);

kann mir jemand sagen wo die Unterschiede liegen und welches die "sauberste Lösung" ist.

Gruß HerBert
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.11.2004, 13:31 Uhr
ao

(Operator)


Weil es eine static-Methode ist, hast du diese beiden Möglichkeiten.

Und es funktioniert nur, wenn GetDataFromPort nur Eigenschaften und Methoden der *Klasse* CData verwendet (also Member, die selber static sind) und keine Eigenschaften und Methoden der *Instanz* data (das wären Member, die nicht static sind). Andernfalls kriegst du Compilerfehler beim Übersetzen der CData-Implementierung.

Für GetDataFromPort ist es gleichgültig, ob du 1. oder 2. verwendest.

Ich würde so entscheiden: Wenn ich in der Connect.cpp an der fraglichen Stelle eine fertig konstruierte CData-Instanz habe, dann verwende ich sie auch und rufe data.GetDataFromPort auf.

Wenn ich keine Instanz habe und nur für den einen Aufruf eine erzeugen müsste, dann tue ich das nicht, sondern verwende CData::GetDataFromPort. Das erspart mir die (möglicherweise aufwändige) Konstruktion einer CData-Instanz.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: