将类对象输入到对象数组中

时间:2018-01-02 17:45:47

标签: c++ arrays class operator-overloading

我正在尝试编写一个在类对象中接受字符串和整数的程序。然后,程序将按整数对对象数组中的类对象进行排序,然后允许我显示名称。不幸的是,当我尝试构建数组时,我的赋值运算符出错了。

我的问题是:我是否需要重载=运算符,如果是的话,如何(不知怎的,我从未弄清楚如何重载运算符)?如果没有,我哪里错了?

以下是代码:

    void InitiativeList::makeList(size_type physicalSize, size_type logicalSize)
    {
        string sNewActor;
        int iNewOrder;
        for (size_t index = 0; index < physicalSize; index++)
        {
            if (logicalSize == physicalSize)
            {
                grow(physicalSize);
            }
            cout << "Enter character name: ";
            cin >> sNewActor;

            if (sNewActor == "Exit")
            {
                return;
            }

            cout << "Enter initiative roll: ";
            cin >> iNewOrder;
            actorOrder[index] = new Actor(iNewOrder, sNewActor);
            logicalSize++;
        }
    }

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

你不需要new那里,因为你有一组actorData而不是actorData指针,错误就是说它无法转换指向actorData的{​​{1}}指针。所以替换这一行:

actorData

用这个:

actorOrder[index] = new actorData(iNewOrder, sNewActor);