我正在尝试将一个对象转换为一个浮点数,但它似乎没有按照我想要的方式工作。
int main()
{
Fraction A(20,6);
float E;
E = A;
cout << E << endl;
}
我已经在类
中做了一个类型转换运算符operator float () const
{
return static_cast<float>(num/den); //Being num and den private members, 20 and 6 in this case.
}
当我运行程序时,结果为3(没有小数位)。 有什么帮助吗?
答案 0 :(得分:0)
我无法看到您的代码,但根据您观察到的行为,num
和den
是否可能被定义为int
数据类型?如果是,则num/den
被视为整数除法,因此导致结果被截断。