gpt4 book ai didi

c++创建,分配新变量并将其与运算符重载函数内的两个对象进行比较

转载 作者:行者123 更新时间:2023-11-30 00:46:22 25 4
gpt4 key购买 nike

为我的英语道歉。我正在尝试用 C++ 解决一个非常简单的问题。但我是 C++ 的新手,所以无法解决这个问题:(我正在尝试对头文件使用运算符重载。对于新的,我正在尝试实现 this问题。但是我在 getStatusPoint 方法中出错。 enter image description here

int getStatusPoint(Alien const& alien)
{
return alien.getHeight()*alien.getWeight()*aliean.getGender();
}

bool Alien::operator>(const Alien& alien) const {
return(getStatusPoint(*this) > getStatusPoint(alien));
}

如果我不使用 getStatusPoint 方法,那么它工作正常。谁能帮助我使用 getStatusPoint() 解决这个问题。

最佳答案

您的错误消息表明 getHeight 和 getWeight 均未标记为常量。你应该定义

class Alien ... {
public:
int getHeight() const { ... }
...
};

您的实现既不应该对类的字段进行写入访问,也不应调用类的非常量方法。

关于c++创建,分配新变量并将其与运算符重载函数内的两个对象进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38850599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com