2012-04-13 5 views
0

Ich habe den folgenden Code als: -Speichern der Zeiger auf eine Klasse in einem Referenz

wxSpinCtrl* m_spinner; 

wo wxSpinCtrl eine Klasse ist und m_spinner ein Zeiger ist, ich erfordern, was ist so etwas wie die wir haben:

int b; 
int* a; 
a = &b; 

ist die obige Art von Code für

wxSpinCtrl* m_spinner; 

Dank

+1

Was stimmt nicht mit, 'wxSpinCtrl obj hat,' und Ihre Frage dann 'wxSpinCtrl * m_spinner = &obj;', ich kann nicht verstehen. –

+0

Ich denke, der Titel der Frage sollte "Speichern der Adresse eines Objekts in einem Zeiger" sein. – hmjd

+0

Die Deklaration der Klasse wxspinctrl ist: - "Klasse WXDLLIMPEXP_CORE wxSpinCtrl: öffentliche wxSpinButton " WXDLLIMPEXP ist ein Makro hier (DLL) –

Antwort

1

Natürlich

wxSpinCtrl b; 
wxSpinCtrl* a; 
a = &b; 

nur Das funktioniert, wenn wxSpinCtrl einen öffentlichen Standardkonstruktor

0

Wenn Sie einen anderen Bezug auf das gleiche Objekt verwendet werden soll:

wxSpinCtrl* m_spinner; 
wxSpinCtrl* other = m_spinner; 

Wenn Sie einen Doppelzeiger verwenden möchten:

wxSpinCtrl* m_spinner; 
wxSpinCtrl** other = &m_spinner; 

Und Als wies darauf hin, das ist auch ok:

wxSpinCtrl obj; 
wxSpinCtrl* m_spinner = &obj;