CPtrArray类的问题
1.如果要交换CPtrArray类中的成员[1]和成员[5]的位置,其中CPtrArray类成员还包含CPtrArray类的
2.用InSertAt(),好像也不行啊?

解决方案 »

  1.   

    SetAt?
    CObArray arr;
    CObject* pa;arr.Add(new CAge(21)); // Element 0
    arr.Add(new CAge(40)); // Element 1
    if ((pa = arr.GetAt(0)) != NULL)
    {
       arr.SetAt(0, new CAge(30));  // Replace element 0.
       delete pa; // Delete the original element at 0.
    }
    #ifdef _DEBUG
       afxDump.SetDepth(1);
       afxDump << _T("SetAt example: ") << &arr << _T("\n");
    #endif      用[1]的位置替换[5]的值,再[5]的位置替换[1]的值!
      

  2.   

    CPterArray类中保存的是指针,因此你只要把[1]和[5]中的指针进行交换即可;例如:
    PTR pTemp = CPterArray[1];
    CPterArray[1] =  CPterArray[5];
    CPterArray[5] = pTemp;