有2个类,我如何在上面的类中使用下面的类的对象?

Anu*_*bha 0 c++ oop

例如,我按以下顺序定义了2个类...

class A
{
     int value;

     printValue(B b)
     {
        cout << b.value
     }
};

class B  
{
   int value;

   printValue(A a)
   {
      cout << a.value;
   }

}
Run Code Online (Sandbox Code Playgroud)

如何在A中使用B对象,因为B定义如下?

jua*_*nza 6

您可以单独声明和实现类,在声明头文件中声明它们,并在函数中使用引用.

文件啊

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

文件Bh

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

然后,有单独的实现文件.例如,A的实现文件A.cpp:

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

void A::printValue(const B& b) const {
   std::cout << b.value;
}
Run Code Online (Sandbox Code Playgroud)

并且类似地B.cpp.

请注意,我已修复了printValue函数的缺失返回类型,并创建了这些函数const.