⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_59421.htm

📁 vc
💻 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>&nbsp;&nbsp;&nbsp;&nbsp;我发现当我们创建新类的类型是generic clss 时,这样的类,当右键点击他们时都没有add virtual funtion 和 add windows message handler,这是可以理解的,因为创建的单独的一个类不从MFC类库中派生,那肯定没有虚函数这一说。但我 看人家的源代码中那个类也是从MFC类库中的类派生出来的呀?<BR>&nbsp;&nbsp;&nbsp;&nbsp;我把他们的那个类的头文件源代码贴上来,请大家帮我看看!<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>&nbsp;&nbsp;&nbsp;&nbsp;DECLARE_DYNAMIC(CClientSocket);<BR>private:<BR>&nbsp;&nbsp;&nbsp;&nbsp;CClientSocket(const CClientSocket&amp; rSrc);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // no implementation<BR>&nbsp;&nbsp;&nbsp;&nbsp;void operator=(const CClientSocket&amp; rSrc);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// no implementation<BR><BR>// Construction<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;CClientSocket(CServerDoc* m_pDoc);<BR><BR>// Attributes<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;int m_nMsgCount;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CSocketFile* m_pFile;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CArchive* m_pArchiveIn;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CArchive* m_pArchiveOut;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CServerDoc* m_pDoc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;BOOL IsAborted() { return m_pArchiveOut == NULL; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;BOOL HasConnectionDropped( void );<BR>&nbsp;&nbsp;&nbsp;&nbsp;bool needdel;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString name;<BR>&nbsp;&nbsp;&nbsp;&nbsp;WORD image;<BR>// Operations<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;void Init();<BR>&nbsp;&nbsp;&nbsp;&nbsp;void Abort();<BR>&nbsp;&nbsp;&nbsp;&nbsp;void SendMsg(CMessage* pMsg);<BR>&nbsp;&nbsp;&nbsp;&nbsp;void ReceiveMsg(CMessage* pMsg);<BR><BR>// Overridable callbacks<BR>protected:<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual void OnReceive(int nErrorCode);<BR><BR>// Implementation<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual ~CClientSocket();<BR><BR>#ifdef _DEBUG<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual void AssertValid() const;<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual void Dump(CDumpContext&amp; dc) const;<BR>#endif<BR>};<BR><BR>#endif // __CLNTSOCK_H__<BR><BR>&nbsp;&nbsp;
<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>&nbsp;&nbsp;&nbsp;&nbsp;帮人一帮,胜造三级浮屠!<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 + -