Referenz übergeben
-
Ich habe folgendes Prob, ich habe in der Klasse CKundenkartei
eine Funktion, die AddKunde lautet, ich übergebe dort Pointer,
zu einer weiteren Verarbeitung.
Nun meine Frage, wie mache ich das Ganze, wenn ich eine Referenz,
also AddKund(CKunde& rKunde) übergeben möchte ???
Ich weiß nich weiterint CKundenkartei::AddKunde(CKunde* pKunde) { CKunde* pNewKunde=new CKunde; *pNewKunde=*pKunde; int nPos=0; nPos=m_obaKunden.Add((CObject*)pNewKunde); return nPos; }Danke im voraus...
-
int CKundenkartei::AddKunde(CKunde& rKunde) { CKunde* pNewKunde(rKunde); int nPos=0; nPos=m_obaKunden.Add((CObject*)pNewKunde); //nPos=m_obaKunden.Add((CObject*)&rKunde); return nPos; }so ?
Devil
-
Nicht ganz, habe aber gerade selber eine Lösung gefunden,
DANKE ABER...So sieht es jetzt aus:
int CKundenkartei::AddKunde(CKunde& rKunde) { CKunde* pNewKunde=new CKunde; *pNewKunde=(CKunde)rKunde; int nPos=0; nPos=m_obaKunden.Add((CObject*)pNewKunde); return nPos; }cya
-
Hm, erklär mir mal 1 Frage:
Wieso kopierst du rKunde, tust damit nichts, und kopierst es dann weiter in
eine ListBox oder so ?Devil
-
bissel frisiert, war ja nicht zum aushalten:
int CKundenkartei::AddKunde(CKunde& rKunde) { return m_obaKunden.Add(new CKunde(rKunde)); }
-
Ich glaube, jetzt hast du das Add wegoptimiert...
-
oops
hab stattdessen zulange drüber nachgedacht, ob der Cast nach CObject* nötig ist oder nicht.