gpt4 book ai didi

c++ - 如何重载调用自身重载版本的函数?

转载 作者:太空狗 更新时间:2023-10-29 21:27:17 24 4
gpt4 key购买 nike

    Fraction Fraction::pow (Fraction frac, int power)
{
Fraction temp;
temp.num = pow(frac.num, power);
temp.den = pow(frac.den, power);

return (temp);
}
// Assume that num and den are float and cmath is included

Fraction::pow 中的 pow 实例中,floatint 作为input 并且应该给出 float 但它取 Fraction 作为输入并抛出错误。

最佳答案

您可以尝试调用全局范围 pow功能(我想这就是你想要的):

temp.num = ::pow(frac.num, power);
temp.den = ::pow(frac.den, power);

作用域运算符 ( :: ) 左侧没有任何内容将调用全局作用域。当然,因为你包括 <cmath>您还应该能够在 std 中调用它们命名空间:

temp.num = std::pow(frac.num, power);
temp.den = std::pow(frac.den, power);

关于c++ - 如何重载调用自身重载版本的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9373461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com