在 MFC(Microsoft Foundation Classes)中,CObList::GetAt 是 CObList 类的一个公共方法,用于获取链表中指定位置的元素。

以下是 CObList::GetAt 方法的声明:
CObject* GetAt(POSITION pos) const;

这个方法接受一个 POSITION 对象作为参数,表示链表中的某个位置。它返回该位置处的元素指针。

下面是一个简单的示例,演示如何使用 CObList::GetAt 方法:
#include <afx.h>  // 包含 MFC 头文件

int main()
{
    // 创建一个空的 CObList 对象
    CObList myList;

    // 在链表尾部添加元素
    CObject* pObj1 = new CObject;
    myList.AddTail(pObj1);

    // 在链表尾部添加另一个元素
    CObject* pObj2 = new CObject;
    myList.AddTail(pObj2);

    // 获取链表中第一个元素的位置
    POSITION pos = myList.GetHeadPosition();

    // 使用 GetAt 获取第一个元素
    if (pos != NULL)
    {
        CObject* pFirstObject = myList.GetAt(pos);
        TRACE("First element: %p\n", pFirstObject);
    }

    // 获取链表中第二个元素的位置
    if (pos != NULL)
    {
        myList.GetNext(pos);  // 移动位置到下一个元素
        CObject* pSecondObject = myList.GetAt(pos);
        TRACE("Second element: %p\n", pSecondObject);
    }

    // 释放内存,删除链表中的元素
    myList.RemoveAll();

    return 0;
}

在这个例子中,首先创建了一个空的 CObList 对象 myList,然后使用 AddTail 方法在链表尾部添加了两个 CObject 类的对象指针。接着,使用 GetHeadPosition 方法获取链表中第一个元素的位置,并使用 GetAt 方法获取第一个和第二个元素的指针。

注意,GetAt 方法返回的是元素的指针,因此你可以根据实际需要使用该指针执行相应的操作。在实际应用中,你可能会使用更具体的类,而不仅仅是 CObject,因为 CObList 可以存储任何从 CObject 派生的类的指针。


转载请注明出处:http://www.zyzy.cn/article/detail/20916/MFC/CObList