这是我面临的问题,有没有人有解决方案?将基类的引用传递给另一个函数
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