0

我试图做一个可以返回其他类值的 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);

4

1 回答 1

0

只需将 B 的成员函数的定义放在 A 的类定义之后。

于 2013-08-18T12:58:20.627 回答