2014-11-23 56 views
-3

class A類型的對象的方法,我處理的class B一個對象具有公用方法.join(*A)C++ - 你如何從一個類中獲得「指向自我」的指針?

我想我A類型的對象調用此方法someObjectOfTypeB.join(*A),使用指針本身作爲參數。

void A::someMethod() 
{ 
    B b(); 
    b.join(I want to a to use a pointer to itself as a parameter); 
} 

A a(); 
a.someMethod(); 

經進一步調查,this不是問題,因爲我帶領自己相信;並且確實是做我想做的事情的正確方式。

+1

這不就是'this'專門用於!!! – 2014-11-23 01:54:59

+2

你在這裏聲明'b'是一個_function_,將void和返回一個'B'。這是你想要的嗎? – 2014-11-23 01:58:28

+0

'* A'不是有效的類型。你的意思是'A *'是否爲'join'的參數類型,或者你的意思是給定一個合適的表達式'A','join'可以被稱爲'join(* A)'? – hvd 2014-11-23 02:05:17

回答

4

嘗試使用this

void A::someMethod() 
{ 
    B b; 
    b.join(this); 
} 

由於@AndrewLazarus@JonathanWakely評論,請使用B b;代替B b()。後者聲明函數b沒有參數,它返回B,這不是你想要的。

+0

這實際上是說:b.join(指向b的指針);這就是爲什麼我發佈,因爲我試過:( – Werner 2014-11-23 01:55:20

+1

@Werner你的意思是'b.join(&b)'? – AlexD 2014-11-23 01:58:11

+0

也許......無論如何,我希望這個參數是自己的,而不是b – Werner 2014-11-23 01:59:38

相關問題