【问题标题】:input class object into array of objects [closed]将类对象输入到对象数组中[关闭]
【发布时间】:2018-06-12 10:13:57
【问题描述】:

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

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

代码如下:

    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++;
        }
    }

感谢您的帮助。

【问题讨论】:

标签: c++ arrays class operator-overloading


【解决方案1】:

你不需要new,因为你有一个actorData数组而不是actorData指针,错误是它不能将actorData指针转换为actorData。所以替换这一行:

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

用这个:

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

【讨论】:

    猜你喜欢
    • 2014-06-06
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2014-10-15
    • 1970-01-01
    相关资源
    最近更新 更多