這是我面臨的問題,有沒有人有解決方案?將基類的引用傳遞給另一個函數
Class A: public class B
{
// I want to pass a reference of B to Function
}
void ClassC::Function(class& B)
{
//do stuff
}
這是我面臨的問題,有沒有人有解決方案?將基類的引用傳遞給另一個函數
Class A: public class B
{
// I want to pass a reference of B to Function
}
void ClassC::Function(class& B)
{
//do stuff
}
您在聲明類的方法是錯誤的:
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);
你剛剛遇到了語法問題嗎?它應該是
void ClassC::Function(B& b)
{
b.DoSomething();
}
使b
B
類型的引用。
我可以做到這一點,問題是傳遞指向這個函數的指針 – user233320 2009-12-16 22:04:57
措辭較差,但字裏行間,嘗試調用函數()與*此作爲參數。 – 2009-12-16 21:58:45