头文件:class NetClient
{
public:
NetClient(void);
NetClient(char* sRemoteAddress, int nRemotePort);
~NetClient(void); char m_strRemoteAddress[50] ; //IP地址
int m_intRemotePort ; //端口
int m_intReadTimeOut ; //超时
CSocket m_SocketClient;
NetClient& operator=(const NetClient &nc)
{
//这里面应该怎么写
}
};cpp文件:NetClient::NetClient(void)
{
m_intMaxDataSize = 4*1024*1024;
m_intReadTimeOut = 30;
}NetClient::NetClient(char* sRemoteAddress, int nRemotePort)
{
if (strlen(sRemoteAddress) != 0)
{
//m_strRemoteAddress = sRemoteAddress;
strcpy_s((char*)m_strRemoteAddress, 50, sRemoteAddress);
}
if(nRemotePort > 0)
{
m_intRemotePort = nRemotePort;
}
m_intMaxDataSize = 4*1024*1024; //最大文件大小
m_intReadTimeOut = 30; //超时时长}NetClient::~NetClient(void)
{}我想实现的效果是:
NetClient nc;
nc = NetClient("192.168.1.55",3000);
{
public:
NetClient(void);
NetClient(char* sRemoteAddress, int nRemotePort);
~NetClient(void); char m_strRemoteAddress[50] ; //IP地址
int m_intRemotePort ; //端口
int m_intReadTimeOut ; //超时
CSocket m_SocketClient;
NetClient& operator=(const NetClient &nc)
{
//这里面应该怎么写
}
};cpp文件:NetClient::NetClient(void)
{
m_intMaxDataSize = 4*1024*1024;
m_intReadTimeOut = 30;
}NetClient::NetClient(char* sRemoteAddress, int nRemotePort)
{
if (strlen(sRemoteAddress) != 0)
{
//m_strRemoteAddress = sRemoteAddress;
strcpy_s((char*)m_strRemoteAddress, 50, sRemoteAddress);
}
if(nRemotePort > 0)
{
m_intRemotePort = nRemotePort;
}
m_intMaxDataSize = 4*1024*1024; //最大文件大小
m_intReadTimeOut = 30; //超时时长}NetClient::~NetClient(void)
{}我想实现的效果是:
NetClient nc;
nc = NetClient("192.168.1.55",3000);
{
public:
NetClient(void);
NetClient(char* sRemoteAddress, int nRemotePort);
~NetClient(void); char m_strRemoteAddress[50] ; //IP地址
int m_intRemotePort ; //端口
int m_intReadTimeOut ; //超时
CSocket m_SocketClient;
NetClient& operator=(const NetClient &nc)
{
//这里面应该怎么写
lstrcpy( m_strRemoteAddress, nc.m_strRemoteAddress) ; //IP地址
m_intRemotePort = nc.m_intRemotePort;
}
};
m_SocketClient = NetClient.m_SocketClient;
我这样写了以后,会编译错误。提示如下:
error C2248: 'CSocket::operator =' : cannot access private member declared in class 'CSocket'而CSocket类是这样的:
class CSocket : public CAsyncSocket
{
DECLARE_DYNAMIC(CSocket);
private:
CSocket(const CSocket& rSrc); // no implementation
void operator=(const CSocket& rSrc); // no implementation
....
};不知道该怎样解决!!!
构造函数里面是怎么处理 m_SocketClient的
你重载里就怎么处理
csocket是一个类 直接等于肯定不行
一般操作符跟构造函数保持一致就可以