小弟对#include "xxx.h"应该放到H文件还是CPP文件总是不得要领,请高手解释一下。

解决方案 »

  1.   

    很简单阿,如果头文件中定义变量(包括成员变量以及函数参数类型)需要用到某个头文件中的定义,那么就需要在.h中包含该头文件;否则,如果只是在cpp中编写函数代码时需要用到某个头文件中的定义,那么只需要在cpp中包含该头文件就可以了。
      

  2.   

    一般放在cpp中就可以了,但如果用到别的类对象作为成员的话就要在.h中include
    ////////a.h//////////
    class A
    {
       ...
    }
    ======================
    ///////b.h//////////
    class a;
    class B
    {
      A *pa;
    }
    ///////b.cpp/////////
    #include "a.h"
    ======================
    ///////c.h///////////
    #include "a.h"
    class C
    {
       A aa;
    }
      

  3.   

    我的建议是尽可能在头文件里声明类,CPP文件里包含头文件,如果需要。比如一个类,可以在头文件里class ClassName;这样编译的效率要高一些
      

  4.   

    最好放在CPP里,可以防止h的第归包含