不可以。如果编译器需要了解class a的布局,就需要#include a.h
如果编译器遇到的是class *a; 那么可以用“class a;”

解决方案 »

  1.   

    那请看这段代码:
    class CServerDoc;class CListeningSocket : public CSocket
    {
    DECLARE_DYNAMIC(CListeningSocket);// Construction
    public:
    CListeningSocket(CServerDoc* pDoc);// Attributes
    public:
    CServerDoc* m_pDoc;// Overridable callbacks
    protected:
    virtual void OnAccept(int nErrorCode);// Implementation
    public:
    virtual ~CListeningSocket();#ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
    #endif
    };
    其中class CServerDoc;代表什么含义?
      

  2.   

    可以告诉编译器CServerDoc是一个类名。
      

  3.   

    那为什么不用 #include 语句那?有什么区别吗?
      

  4.   

    这是为了防止重复编译!也就是为了防止互相 “包括”!!在*.h文件中避免出现
    #include ……
      

  5.   

    当然不行!class的东东只是先声明了一下!!