#ifndef TIMESOURCEFACTORY_H
#define TIMESOURCEFACTORY_H
class ITimeSource;
class CTimeSourceFactory
{
public:
。。。
static ITimeSource *CreateTimeSource(ETimeSourceType type);
};
#endif
//编译通过
#ifndef TIMESOURCEWIN32_H
#define TIMESOURCEWIN32_H
class ITimeSource;
class CTimeSourceWin32 : public ITimeSource
{
。。。
};
#endif
//编译出错
#include "stdafx.h"
#include "TimeSourceFactory.h"
class CTimeSourceWin32;
ITimeSource *CTimeSourceFactory::CreateTimeSource(。。。)
{
pTimeSource = new CTimeSourceWin32();
return pTimeSource;
}
//编译出错
class xxxx应该是只能声明指针的,不能声明实例,也不能进行其成员的操作,
但#include的话就可以任意声明,任意操作了。