前几天搞了个头文件相互包含,很不爽,最终确定,只能提前申明,然后在另一个类里用前一个类的指针作成员变量。今天,在程序里直接添加一个MFC类,
自动生成的.h文件,这个文件里啥头文件也没,为什么
#pragma once
// CEditListclass CEditList : public CListCtrl
{
DECLARE_DYNAMIC(CEditList)public:
CEditList();
virtual ~CEditList();protected:
DECLARE_MESSAGE_MAP()
CEdit edt;
};
能识别CEdit呢?它是怎么实现的?

解决方案 »

  1.   

    在他的cpp文件里面有#include "stdafx.h"
    Cedit以及很多的MFC需要的头文件都包含在了stdafx.h里面。
    #include "CEditList.h"在 CEditList.cpp文件中的位置一定是在#include "stdafx.h"之后就可以了。
    家头文件尽量加在cpp文件里面。除非要被继承的类。并且.h里面用到了其他的类的实例。