我一生都无法理解为什么这不起作用。我感到很困惑。我有一个 Person 类,它有一个数据成员年龄,我只想添加两个人以便添加年龄。我不知道为什么这这么难,但我正在寻找例子,我觉得每个人都在做不同的事情,出于某种原因,他们都没有工作。有时我看到的示例有两个参数,有时它们只有一个,有时参数是对对象的引用,有时它们不是,有时它们返回一个 int,有时它们返回一个 Person 对象。就像..最正常的方法是什么?
class Person {
public:
int age;
//std::string haircolor = "brown";
//std::string ID = "23432598";
Person(): age(19) {}
Person operator+(Person&) { }
};
Person operator+(Person &obj1, Person &obj2){
Person sum = obj1;
sum += obj2;
return sum;
}
我真的觉得重载 + 运算符应该是世界上最简单的事情,除非我不知道我在做什么。我不知道我是否应该在类内部创建重载函数,如果它有区别,为什么如果我在里面做它只允许一个参数,老实说我不明白。