如何从我的类的 ceil 函数调用 c++ 中的 ceil 函数

How to call ceil function in c++ from my classes's ceil function

本文关键字:ceil 函数调用 c++ 中的 函数 我的      更新时间:2023-10-16

我需要委托'ceil'函数。我的类有方法"ceil",它需要返回cpp的本机方法"ceil"。怎么称呼它?

double ceil() {
return ceil();
}

-这是一个递归

double ceil() {
    return ::ceil(something); // ceil actually has an argument
}

当然,以上是在类定义中定义方法的时候;以下是在类外定义方法时使用的:

double MyClass::ceil() {
    return ::ceil(something);
}

正如注释所示,从包含的<cmath>中使用std::ceil更好,因为实际上,::ceil不能保证是C库中的ceil

您可以通过编写std::ceil来指定std::ceil

这假设您包含C++标头<cmath>,而不是不推荐使用的C标头<math.h>。在这种情况下,如果您不想包含正确的头,那么它在全局命名空间中,并且可以作为::ceil访问。

请记住,它需要一个参数,所以您发布的代码即使在限定它之后也无法工作。

在自定义的ceil中使用std::ceil。

最好有一个演员兼演员,作为

运算符double()在您的类中,将数据转换为double,并在需要的地方调用ceil(obj),因此,您不需要;您的类中没有ceil作为成员,您的对象将被转换为double(通过您的cast运算符),std::ceil将被自动调用。