为什么在类上面指定其他类名?

cpp*_*der 2 c++ class

可能重复:
何时使用前向声明?

在特定类之上指定其他类名有什么用?

class A;
class B;

class C
{
 ...
 ...
};
Run Code Online (Sandbox Code Playgroud)

Oli*_*rth 7

这是一个前瞻性声明.

作为C的宿醉,C++编译器以自上而下的方式工作(或多或少).如果您希望您的类C以某种方式引用类A或类B(通过指针或引用),则编译器必须事先知道它们的存在.