返回首页

返回指针结构的成员:您好,

我想编写一个类,它返回一个指针数组中的任何数据:

class CData

{

   private:

      struct

      {

	  void* pVoid;

	  int   iLen;

      }data;

 

   public:

      void  SetData (void* pVoid);

      void* GetData (int iNum);

};

 

void CData::SetData (void* pVoid)

{

   data.pVoid = pVoid;

   data.iLen  = iLen;

}

 

void* CData::GetData (int iNum)

{

   return data.pVoid + iNum*iLen;  //Simplified

}

与正常的数据阵列,这是没有问题的,但像这样的结构,我需要一些帮助:
static MASTER master [3];

static CHILD  child;

 

_tcscpy (child.szString, TEXT ("Child main"));

child.iInt = 12;

 

master[0].pChild = master[2].pChild = &child;

master[1].pChild = new CHILD;

 

master[1].pChild->iInt = 11;

_tcscpy (master[1].pChild->szString, TEXT ("Child 1"));

_tcscpy (master[0].szString, TEXT ("Master 0"));

_tcscpy (master[1].szString, TEXT ("Master 1"));

_tcscpy (master[2].szString, TEXT ("Master 2"));

 

master[0].iInt = 20;

master[1].iInt = 21;

master[2].iInt = 22;

选举从主结构的数据是没有问题的,但是从子结构返回的数据是一点点更复杂,因为结构不"结盟"在内存(?),,所以,我guesse我工作的指针与指针,但我不知道如何下手,所以任何想法?

回答

评论会员: 时间:2