如何正确转发声明类?如果我试试这个就不会编译:
#include<iostream>
#include<conio.h>
class B ;
class A
{
public:
B returnB()
{
return B() ;
}
} ;
class B
{
public:
A returnA()
{
return A() ;
}
} ;
int main(void)
{
getch() ;
return 0 ;
}
答案 0 :(得分:2)
有时您必须在课堂外定义您的功能:
class B;
class A
{
public:
B returnB();
};
class B
{
public:
A returnA();
};
B A::returnB()
{
return B();
}
A B::returnA()
{
return A();
}
通常,定义(实现)位于单独的* .cpp文件中。如果它在标题中,那么它必须是inline
。