2009-12-16 28 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

相关问题