2012-08-07 58 views

回答

6

您可以分離類的聲明和實現,向前在聲明中頭文件聲明它們,並使用該函數的引用。

文件A.H

class B; // forward declaration 
class A { 
    public: 
    int value; 
    void printValue(const B& b) const; // pass by reference 
}; 

文件B.h

class A; // forward declaration 
class B { 
    public: 
    int value; 
    void printValue(const A& a) const; // pass by reference 
}; 

然後,有單獨的實現文件。例如,A的實現文件A.cpp

#include "A.h" 
#include "B.h" 

void A::printValue(const B& b) const { 
    std::cout << b.value; 
} 

,類似的還有B.cpp

請注意,我有固定的缺少返回類型爲printValue功能,並提出了這些功能const

+0

你可以舉例說明上面的代碼嗎? – Anubha 2012-08-07 12:46:02

+0

@ user183177剛剛添加了一些代碼示例。希望能幫助到你。 – juanchopanza 2012-08-07 12:51:31

+0

是不是有什麼辦法,我可以把兩個類放在同一個cpp文件中並實現我想要的? – Anubha 2012-08-07 12:54:19