代码注释??帮帮忙!
有段VC代码
大家帮我注释下,谢谢了!
// Listening.cpp : implementation file
//
#include "stdafx.h"
#include "NServer.h"
#include "Listening.h"
#ifdef _DEBUG//
#define new DEBUG_NEW//
#undef THIS_FILE //
static char THIS_FILE[] = __FILE__;//
#endif//
class CNServerApp;//
/////////////////////////////////////////////////////////////////////////////
CListening::CListening()
{
}
CListening::~CListening()
{
}
void CListening::OnAccept(int nErrorCode)
{
CSocket::OnAccept(nErrorCode);
if(nErrorCode!=0){
AfxMessageBox("cannot accept listen");
return;//
}
else{
Cclient *pSocket=new Cclient();//
if(!this->Accept(*pSocket))//
{
AfxMessageBox("Cannot accept connect!");
return;
}
((CNServerApp *)AfxGetApp())->AddClient(pSocket);//
}
}
// Do not edit the following lines, which are needed by ClassWizard.
#if 0
BEGIN_MESSAGE_MAP(CListening, CSocket)
//{{AFX_MSG_MAP(Listening)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif // 0
/////////////////////////////////////////////////////////////////////////////
// Listening member functions
其中语句后有//的需要注释的,先谢谢了
问题点数:100、回复次数:11Top
1 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-13 20:33:35 得分 30
/////////////////////////////////////////////////////////////////////////////
CListening::CListening()
{
}
CListening::~CListening()
{
}
void CListening::OnAccept(int nErrorCode)
{
CSocket::OnAccept(nErrorCode);
if(nErrorCode!=0){
AfxMessageBox("cannot accept listen");
return;//这里返回非0表示OnAccept没有正确执行,所以直接返回
}
else{
Cclient *pSocket=new Cclient();//new出一个新的socket,一个连接对应一个,这里建议看看socket方面资料
if(!this->Accept(*pSocket))//使用上面new出的socket作为accept 参数
{
AfxMessageBox("Cannot accept connect!");
return;
}
((CNServerApp *)AfxGetApp())->AddClient(pSocket);//这里需要看AddClient()函数的实现了,如果猜的没错应该是将新的连接使用的socket(pSocket)加入链表之类的操作
}
}Top
2 楼Snow_Ice11111(雪上加冰)回复于 2006-03-13 20:47:22 得分 8
#ifdef _DEBUG// 当工程在debug模式下运行时
#define new DEBUG_NEW// 把代码中new关键字全部用DEBUG_NEW关键字代替
#undef THIS_FILE // 取消关键字THIS_FILE的宏定义
static char THIS_FILE[] = __FILE__;// 定义一个全局静态的字符串变量THIS_FILE[],里面的内容为当前文件的全路径
#endif// 结束对工程运行模式的判断
class CNServerApp;// 这个我也不知道是干什么用的,类定义不象类定义,对象声明不象对象声明的,肯定是日本汉奸Top
3 楼truewill(无处不在)回复于 2006-03-13 20:51:40 得分 8
class CNServerApp;// 是声明有这个类,告诉编译器用
这样使用可以合法的使用CNServerApp*,而不需要先定义CNServerAppTop
4 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-13 21:02:45 得分 0
哈哈!!原来我没注释全!!还好楼上2位搞定了Top
5 楼hsyouxishe(金笛玉洁)回复于 2006-03-13 22:10:16 得分 0
Cclient *pSocket=new Cclient();
中new Cclient();是为Cclient();这个函数分配空间吗?
Top
6 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-13 22:43:00 得分 0
new出个新的对象!!看你类里面如何实现!类里面需要空间的都分配Top
7 楼TianChong(*︿_︿* ○Ооo○泡泡oо㊣VC高手群:2997669)回复于 2006-03-13 22:52:53 得分 18
Cclient *pSocket=new Cclient();
new出一个指向Cclient类的指针对象,并且这个指针指向一个临时分配名字的实例(系统自动命名,你不用管,只是使用指针就可以了).而且它分配这个类实例的空间,注意可不是为Cclient()这个函数分配空间,而且为这个类分配空间,并且调用Cclient()作为构造函数,进行类内部变量的初始化操作.Top
8 楼LongLongAgoImBoy(ThereIsAMe)回复于 2006-03-14 09:44:59 得分 2
注释?好难,不会。Top
9 楼dnliophsam()回复于 2006-03-14 10:07:31 得分 2
看上去不是很难,楼上的注释写的很清楚了Top
10 楼zhaohua0317(小毛咪咪眼)回复于 2006-03-14 13:28:59 得分 2
ding
Top
11 楼powerbamboo(清风明月)回复于 2006-03-14 16:44:52 得分 30
class CNServerApp;// 这个我也不知道是干什么用的,类定义不象类定义,对象声明不象对象声明的,肯定是日本汉奸
class CNServerApp;// 是声明有这个类,告诉编译器用
这样使用可以合法的使用CNServerApp*,而不需要先定义CNServerApp
这个 class CNServerApp;// 似乎应该放在头文件中Top




