这是我派生的一个例子, 直接输入就行了
class CURL : public CObject
{
DECLARE_DYNCREATE(CURL)
public:
void ClearUp();
CURL();
// CURL(const CURL & url);
virtual ~CURL(); //override operator
// void operator = (const CURL & url) ; //attribute
//原始信息
CString m_strURL;//URL地址
UINT m_nLevel;//URL在本项目中的层次数
//分析信息
CString m_strServerName;//服务器名称
CString m_strDomainName;//服务器域名
CString m_strDir;//下载保存目录
CString m_strObject;
DWORD m_dwServiceType;//服务种别
unsigned short m_nPort;
//for HTML file
CString m_strFileName;//下载保存文件名
//for GNS file
CString m_strGNSFileName;
//状态信息
CString m_strStatus;//URL状态信息
DWORD m_dwStatus;//URL状态编码
CString m_ContentType;//URL内容类型
CString m_LastModified;//URL内容最后修改时间
BOOL m_bModified;//URL是否已被修改
UINT m_nContentSize;//URL内容大小
//内容
//for HTML file
CString m_strPage;//HTML内容(文本)
//for GNS file
CString m_strTitle;
CString m_strText;
BOOL m_bComplete;
//运行时信息
HWND m_hwndNotifyProgress;
HWND m_hwndNotifyDone;
DWORD m_nThreadID;//系统线程ID
DWORD m_nVThreadID;//虚拟线程ID
LPARAM m_lParam;//辅助信息
CURLThread * m_pThread;
CProject * m_PProject;
//Operation
virtual void Serialize(CArchive& ar);
};
class CURL : public CObject
{
DECLARE_DYNCREATE(CURL)
public:
void ClearUp();
CURL();
// CURL(const CURL & url);
virtual ~CURL(); //override operator
// void operator = (const CURL & url) ; //attribute
//原始信息
CString m_strURL;//URL地址
UINT m_nLevel;//URL在本项目中的层次数
//分析信息
CString m_strServerName;//服务器名称
CString m_strDomainName;//服务器域名
CString m_strDir;//下载保存目录
CString m_strObject;
DWORD m_dwServiceType;//服务种别
unsigned short m_nPort;
//for HTML file
CString m_strFileName;//下载保存文件名
//for GNS file
CString m_strGNSFileName;
//状态信息
CString m_strStatus;//URL状态信息
DWORD m_dwStatus;//URL状态编码
CString m_ContentType;//URL内容类型
CString m_LastModified;//URL内容最后修改时间
BOOL m_bModified;//URL是否已被修改
UINT m_nContentSize;//URL内容大小
//内容
//for HTML file
CString m_strPage;//HTML内容(文本)
//for GNS file
CString m_strTitle;
CString m_strText;
BOOL m_bComplete;
//运行时信息
HWND m_hwndNotifyProgress;
HWND m_hwndNotifyDone;
DWORD m_nThreadID;//系统线程ID
DWORD m_nVThreadID;//虚拟线程ID
LPARAM m_lParam;//辅助信息
CURLThread * m_pThread;
CProject * m_PProject;
//Operation
virtual void Serialize(CArchive& ar);
};
是不是说,每一个自己写的类都缺省的从Cobject派生?
另外,CObject使可以用Wizard添加的,你在工具条上选择WizardBar Actions的New Class,对话框中有一个Class Type ,将其选为Generic Class,在底下的Base Class中输入CObject就可以了……好像和手工加差不多,不过这样就省去自己添加那些防止多次包含的东西了。