我有这样一个需求,描述如下:class CTest1:public ISapServer
{
public:
CTest1(void);
~CTest1(void);
private:
IPacketParser * m_pSapServerMgr;
};
class CTest2
{
public:
CTest2(void);
~CTest2(void);
public:
virtual void setPacketParser( int nId, IPacketParser * packetParser );/*保存用户传过来的对象*/
{
//(CTest1中的m_pSapServerMgr = packetParser ,或者是CTest12中的m_pSapServerMgr =packetParser , 但要保证CTest1中的对象能取 到这个m_pSapServerMgr)
}
//private:
// IPacketParser * m_pSapServerMgr;
};
这是一个头文件中的两个类, 我的需求是这样的。 一个用户(可能有多个用户) 需要调用setPacketParser,把它的对象传给我。我需要保存这个 IPacketParser * 对象, 也就是m_pSapServerMgr 。 在 CTest1 类中使用。。怎么样来设计 程序才能达到目的呢。
{
public:
CTest1(void);
~CTest1(void);
private:
IPacketParser * m_pSapServerMgr;
};
class CTest2
{
public:
CTest2(void);
~CTest2(void);
public:
virtual void setPacketParser( int nId, IPacketParser * packetParser );/*保存用户传过来的对象*/
{
//(CTest1中的m_pSapServerMgr = packetParser ,或者是CTest12中的m_pSapServerMgr =packetParser , 但要保证CTest1中的对象能取 到这个m_pSapServerMgr)
}
//private:
// IPacketParser * m_pSapServerMgr;
};
这是一个头文件中的两个类, 我的需求是这样的。 一个用户(可能有多个用户) 需要调用setPacketParser,把它的对象传给我。我需要保存这个 IPacketParser * 对象, 也就是m_pSapServerMgr 。 在 CTest1 类中使用。。怎么样来设计 程序才能达到目的呢。
{public:
CTest1(void);
~CTest1(void);
void setPacketParser(IPacketParser* packetParser ){
m_pSapServerMgr = packetParser;
}
private:
IPacketParser* m_pSapServerMgr;
};
class CTest2
{public:
CTest2(void);
~CTest2(void);
public:
virtual void setPacketParser(int nId, IPacketParser* packetParser );/*保存用户传过来的对象*/
{
IPacketParser* p = m_array[nId];
p->setPacketParser(packetParser);
}//
private:
CArray<ISapServer*> m_array;
};
大概就这个个意思,给你参考一下
不同的用户我都会 new 一个我自己的对象给它。所以就不用区分 了 楼上的方法我没看明白。。
ps: 我是在linux上用。 不能用MFC类