我在用 C++ 中的运算符重载实现对数类时遇到了一些问题。
我的第一个目标是如何实现该changeBase
方法,我一直很难理解它。
我试图理解改变对数底数的数学原理,但我没能做到。有人可以向我解释一下吗?
我的第二个目标是能够执行左操作数是 adouble
而右操作数是对数对象的操作。
这是我的日志类的片段:
// coefficient: double
// base: unsigned int
// result: double
class _log {
double coefficient, result;
unsigned int base;
public:
_log() {
base = 10;
coefficient = 0.0;
result = 0.0;
}
_log operator+ ( const double b ) const;
_log operator* ( const double b ) const;
_log operator- ( const double b ) const;
_log operator/ ( const double b ) const;
_log operator<< ( const _log &b );
double getValue() const;
bool changeBase( unsigned int base );
};
你们太棒了,谢谢你们的时间。