c++ - 在统计学家类中实现乘数

标签 c++ math statistics double

我正在为我的数据结构类(class)编写编程作业,我们正在制作统计学类(class)。我们必须具备的功能之一是能够采用统计列表(计数、总和、最小值、最大值和平均值)并将其乘以某个整数。以下是我到目前为止的具体功能。然而,我不知道该去哪里,因为它似乎很破旧。

statistician operator *(double scale, const statistician& s)
{
    scale*s;
    return s;
}

附件是 .h 文件,它解释了我正在尝试做的事情。我正在为此 .h 文件编写实现文件,并试图弄清楚如何编写在 .h 文件的注释中定义的统计员运算符*

http://www.cs.colorado.edu/%7Emain/projects/stats.h

感谢您的帮助

最佳答案

您编写的代码看起来可以编译,但会导致无限循环,因为它会调用自身。 scale*soperator*(scale, s)的简写,也就是当前正在定义的函数。您需要将行 scale*s 替换为编译器的婴儿步骤。它看起来像:

statistician operator *(double scale, const statistician& s)
{
    statistician result
    result.count = /*???*/;
    result.total = /*???*/;
    /*etc*/;
    return result;
}

定义之后,您可能还需要 statistician*double,它可以像这样简单地执行您作为 double*statistician 编写的程序。 (注意它不需要是友元类,因为它只调用公共(public)函数)

statistician operator *(const statistician& s, double scale)
{
    return operator *(scale, s);
}

关于c++ - 在统计学家类中实现乘数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7325844/

相关文章:

c++ - 来自相机的裁剪图像无法正常工作

math - 为什么我们在深度学习中使用对数概率?

r - 如何在R中的向量中找到一个值与其最接近的值之间的差异?

c++ - OpenCV 对存储在 Point2f vector 中的点进行排序

c++ - 为什么 char << 和 char >> 中间结果是 int

c++ - 模板类转换错误

ios - 为什么 CGFloat 会补足有效数字?

r - 如何在R中进行逆对数转换?

r - 如何从 regsubsets 中获取 LM 对象

python - 来自广义极值 (GEV) 最大似然拟合数据的奇怪 pdf