我在使用C++中的運算符重載實現對數類時遇到了一些問題。在C++中使用對數實現運算符重載
我的第一個目標是我將如何實施changeBase
方法,我一直在困難的時間包紮着它。
我試圖理解改變對數基數後的數學,但我一直無法做到。有人可以向我解釋嗎?
我的第二個目標是能夠執行左操作數爲double
且右操作數爲對數對象的操作。
這是我的日誌類的一個片段:
// 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);
};
你們是真棒,謝謝您的時間。
你能更具體地關於難以實施基地的變更? – 2010-05-05 03:15:14
@詹姆斯,對不起。我會編輯我的答案。 – 2010-05-05 04:30:37
什麼是「係數」和「數字」?見http://en.wikipedia.org/wiki/Common_logarithm:常用名稱是「特徵」還是「尾數」? – Potatoswatter 2010-05-05 04:34:12