2009-12-16 55 views
0

這是我面臨的問題,有沒有人有解決方案?將基類的引用傳遞給另一個函數

Class A: public class B 
{ 
// I want to pass a reference of B to Function 
} 

void ClassC::Function(class& B) 
{ 
    //do stuff 
} 
+1

措辭較差,但字裏行間,嘗試調用函數()與*此作爲參數。 – 2009-12-16 21:58:45

回答

6

您在聲明類的方法是錯誤的:

class A : public B // no more class keyword here 
{ 

}; // note the semicolon 

void ClassC::Function(const B &b) // this is how you declare a parameter of type B& 
{ 
} 

您只需A類型的對象傳遞給Function。它會工作。 如果您也想獲取派生類型,最好將參數聲明爲const。 要通過this情況下,你只需撥打:

classCObject.Function(*this); 
1

你剛剛遇到了語法問題嗎?它應該是

void ClassC::Function(B& b) 
{ 
    b.DoSomething(); 
} 

使bB類型的引用。

+0

我可以做到這一點,問題是傳遞指向這個函數的指針 – user233320 2009-12-16 22:04:57

相關問題