📄 subject_59421.htm
字号:
<p>
序号:59421 发表者:badboy 发表日期:2003-11-07 16:59:34
<br>主题:添加虚拟函数出现的问题!
<br>内容:<BR> 我打开光盘提供的一个工程,我点击工作区中的classview ,右键点击其中一个类,发现菜单中缺少 add virtual funtion 和 add windows message handler 这两项,一般当我们创建一个新类并且创建的新类的类型是MFC类时,右键电击这样的类,菜单中都会有add virtual funtion 和 add windows message handler。<BR> 我发现当我们创建新类的类型是generic clss 时,这样的类,当右键点击他们时都没有add virtual funtion 和 add windows message handler,这是可以理解的,因为创建的单独的一个类不从MFC类库中派生,那肯定没有虚函数这一说。但我 看人家的源代码中那个类也是从MFC类库中的类派生出来的呀?<BR> 我把他们的那个类的头文件源代码贴上来,请大家帮我看看!<BR><BR><BR>// clntsock.h : interface of the CClientSocket class<BR>//<BR>// This is a part of the Microsoft Foundation Classes C++ library.<BR>// Copyright (C) 1992-1997 Microsoft Corporation<BR>// All rights reserved.<BR>//<BR>// This source code is only intended as a supplement to the<BR>// Microsoft Foundation Classes Reference and related<BR>// electronic documentation provided with the library.<BR>// See these sources for detailed information regarding the<BR>// Microsoft Foundation Classes product.<BR><BR>#ifndef __CLNTSOCK_H__<BR>#define __CLNTSOCK_H__<BR><BR>class CMessage;<BR>class CServerDoc;<BR><BR>class CClientSocket : public CSocket<BR>{<BR> DECLARE_DYNAMIC(CClientSocket);<BR>private:<BR> CClientSocket(const CClientSocket& rSrc); // no implementation<BR> void operator=(const CClientSocket& rSrc); // no implementation<BR><BR>// Construction<BR>public:<BR> CClientSocket(CServerDoc* m_pDoc);<BR><BR>// Attributes<BR>public:<BR> int m_nMsgCount;<BR> CSocketFile* m_pFile;<BR> CArchive* m_pArchiveIn;<BR> CArchive* m_pArchiveOut;<BR> CServerDoc* m_pDoc;<BR> BOOL IsAborted() { return m_pArchiveOut == NULL; }<BR> BOOL HasConnectionDropped( void );<BR> bool needdel;<BR> CString name;<BR> WORD image;<BR>// Operations<BR>public:<BR> void Init();<BR> void Abort();<BR> void SendMsg(CMessage* pMsg);<BR> void ReceiveMsg(CMessage* pMsg);<BR><BR>// Overridable callbacks<BR>protected:<BR> virtual void OnReceive(int nErrorCode);<BR><BR>// Implementation<BR>public:<BR> virtual ~CClientSocket();<BR><BR>#ifdef _DEBUG<BR> virtual void AssertValid() const;<BR> virtual void Dump(CDumpContext& dc) const;<BR>#endif<BR>};<BR><BR>#endif // __CLNTSOCK_H__<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:badboy 回复日期:2003-11-17 23:40:28
<br>内容:嘿,兄弟姐妹们:<BR><BR> 帮人一帮,胜造三级浮屠!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:红苹果 回复日期:2003-11-20 00:06:02
<br>内容:我记得MFC中只有CCmdTarget的派生类才支持消息映射(ClassWizard),而CSocket不是CCmdTarget的派生类。<BR>2003-11-20 0:07:00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -