在头文件中调用类名

时间:2009-08-26 00:15:01

标签: c++

我只是在头文件的上半部分中调用了一个类名来绊倒一个c ++代码,例如

class CFoo;
class CBar
{
  ....
};

我的问题是,class CFoo是什么?

非常感谢!

3 个答案:

答案 0 :(得分:14)

这称为前瞻性声明。这意味着有一个名为CFoo的类,稍后将在文件中定义(或另一个包含)。这通常用于类中的指针成员,例如:

class CFoo;
class CBar {
    public:
        CFoo* object;
};

这是对C ++编译器的暗示,告诉它不要在没有定义的情况下使用类型名称,即使它还没有看到CFoo的完整定义。

答案 1 :(得分:1)

答案 2 :(得分:1)

class CFoo;

只是该类存在的声明;即使你还没有看过这个定义,你仍然可以玩(CFoo *)或(CFoo&) - 也就是CFoo的指针和引用。