正常两个独立的类之间是不能相互访问的,如果一个类的对象想访问另一个类的对象中的方法或者成员,最容易想到的方法就是类里面创建静态方法或者静态成员,还有一种方法就是通过访问调用这2个类的类对象,例如在MFC中通过调用成员
CTcpServerApp theApp;
发现了一个更方便的方法, 就是把当前对象的指针传给另一个类,这样在另一个类中通过指针可以随意的访问。
以TcpServer为例,这个server实现的功能主要就是数据转发,UI如下:
源码中重写了socket类,名称叫做CServerSocket
ServerSocket.h源码
#pragma once
#include "TcpServerDlg.h" // 主对话框头文件
class CTcpServerDlg; //别忘了加上
// CServerSocket 命令目标
class CServerSocket : public CSocket
{
public:
CTcpServerDlg* m_pDlg; // 主对话框指针对象
CServerSocket();
virtual ~CServerSocket();
virtual void OnAccept(int nErrorCode);
virtual void OnClose(int nEr