【发布时间】:2015-11-23 15:32:24
【问题描述】:
我目前正在做一个编程项目,其中我声明了一个名为 Statistician 的类的 2 个对象。这些对象称为 s1 和 s2。每个对象使用一个函数将 3 个 double 类型的值读入序列中。然后,对于每个序列,我计算并打印结果:序列长度、最后输入的数字、序列总和、算术平均值、最小数字、最大数字(每个计算都有自己的函数,它返回值。
我目前正在尝试重载 + 运算符,以便我可以将两个序列(每个序列都有 3 个数字)一起添加到具有所有 6 个值的第三类对象中。然后,我希望能够在这个新类上执行我上面列出的计算。如何重载 + 运算符来执行此任务?
到目前为止我所拥有的:
Statistician operator +(const Statistician&)
{
//Postcondition: the sum of all numbers in sequences s1 and s2 is returned
}
另外,有人告诉我,我应该将其设为友元函数,以访问我在类中声明的变量。如何正确声明朋友函数以便它有权执行此操作?
【问题讨论】:
-
请提供完整的类定义。这会很有帮助。
-
您为 operator+ 指定了类成员函数签名。对于成员函数,友元声明没有意义。
标签: c++ operator-overloading operator-keyword friend friend-function