是否可以向前声明一个类,然后使用其成员函数?我正在尝试这样做:
class Second;
class First{
private:
int x=0;
public:
void move(Second* s,int i){
s->setLine(i);
s->called(true);
}
int getX(){return x;}
}
class Second{
private:
int line=2;
bool cal=false;
public:
void setLine(int l){line = l;}
void called(bool b){cal=b}
bool interact(First* f){
if ((f->getX())>3)
return true;
else
return false;
}
}
我的实际问题稍微复杂一点,并且这些函子可以做更多的事情,但是我想做的是让这两个类互相使用函子并以这种方式进行交互。有谁知道有没有办法做到这一点?
您可以在的定义之后First::move
将类的定义放到类之外Second
。仅声明需要出现在的定义内First
。
实际上,您可以将First::move
.cpp文件中的定义而不是任何标头中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句