C++"class Foo return Bar"和"class Bar return Foo"可能吗?

ano*_*non 1 c++

是否可以定义C++类Foo和Bar st

class Foo {
  Bar makeBar();
};

class Bar {
  Foo makeFoo();
};
Run Code Online (Sandbox Code Playgroud)

谢谢!

Ray*_*yat 8

是的,你只需要在顶部提出声明.

class Foo;
class Bar;

class Foo {
  Bar makeBar();
};

class Bar {
  Foo makeFoo();
};
Run Code Online (Sandbox Code Playgroud)