我试图做一个可以返回其他类值的 C++ 类函数。如果首先定义了 A 类,则该代码有效,但我有更多我不想修改的代码。我想我需要 A 类的某种前向声明。
我需要什么样的前瞻性声明才能完成这项工作?我所有的代码都在一个文件中。如果我正确地将我的类拆分为多个文件并将它们包含到项目中,这个问题是否会消失,或者它对 VC++ 编译器有什么影响?
下面的半伪代码。
// forward declaration
class A;
// class deifinitions
class B {
private:
int testvalue;
public:
void settestvalue(A &Aobj);
}
void B::settestvalue(A &Aobj) {
testvalue = Aobj.settestvalue();
}
class A {
private:
int test = 10;
public:
int testvalue();
};
int A::testvalue() {
return test;
}
// mainloop
A Aobj;
B Bobj;
Bobj.settestvalue (Aobj);