我正在进行另一项任务,我无法弄清楚如何将类型转换超重。我需要提供实现。会感激一些帮助。谢谢!
这是我的HugeInteger.h文件中的函数prototype / declaration。
operator double(void)const;
以下是测试重载类型强制转换为double运算符的代码示例。
cout << "\n****** Test overloaded type cast to double operator ******\n";
cout << "\nA = " << A << "\nB = " << B << "\n";
double dA = (double)A; // one way to invoke cast operator
double dB = static_cast<double>(B); // another way to invoke cast operator
cout << "\nA cast to a double is: " << dA;
cout << "\nB cast to a double is: " << dB << '\n' << endl;
答案 0 :(得分:0)
struct Money {
operator double() { return _amount; }
private:
double _amount;
};
int main() {
Money Account;
double CashOnHand = Account;
}
这是Micrsoft的一个演示。它是从用户类型到双倍的类型转换(自动)。所以我认为这是一个很好的工作方式。您不仅限于此功能,您可以在其中执行更多操作,或围绕它构建框架。我希望这是有帮助的。 顺便说一句,暧昧!!!