【发布时间】:2018-11-23 09:26:42
【问题描述】:
你能帮助重写这个类吗? 即(没有构造函数初始化列表和浮点运算符重载) 或解释它是如何工作的
class HigPassFilter
{
public:
HigPassFilter(float reduced_frequency)
: alpha(1 - exp(-2 * PI*reduced_frequency)), y(0) {}
float operator()(float x) {
y += alpha * (x - y);
return x - y;
}
int myfunc(bool x) { return 1; }
private:
float alpha, y;
};
【问题讨论】:
-
如果你在理解初始化列表上有困难,你可能想看看我们的list of good books to learn C++。
-
"没有构造函数初始化列表" 例如,你将
y = 0;放在构造函数的主体中,而不是y(0)。但老实说,我不明白你为什么要这样做。 -
你为什么要这样做?
-
为什么要删除初始化列表?删除运营商的请求尚不清楚。 1. 它不是“float operator” 2. 这个功能会去哪里?真的很难说出你的问题是什么......你可以做的一件事是将初始化
alpha的计算包装到一个私有函数中。
标签: c++ oop constructor operators