2013-08-18 67 views
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); 

+2

只需在类A的定义后面加上'void B :: settestvalue(A&Aobj)'*的定义即可。 – juanchopanza

+0

有一些其他的类,过了一段时间,排序将变得不可能。还是我误解了? =) – John

+0

这是一个很好的暗示,你不应该在一个文件中包含所有内容。制作单独的标题和实施文件。 – juanchopanza

回答

0

只是在A的类定义之后定义了B的成员函数。

+0

工程太棒了!简单!谢谢! – John

相关问题