给出了在 C++ 中显示 ratio_greater_equal () 函数工作的任务。
给定的函数 Ratio_greater_equal 检查 ratio1 的值是否大于或等于 ratio2。它返回一个布尔常量“值”,如果 ratio1 大于或等于 ratio2,则返回 true,否则返回 false。
Template <ratio1, ratio2> ratio_greater_equal
该函数接受两个模板参数,一个是 ratio1,另一个是 ratio2,要进行比较。
在此函数中,如果 ratio1 的值大于或等于 ratio2 的值,则此函数将返回布尔值,即为真,即整数位 1,否则将返回假,即整数位 0。
typedef 用于给数据类型一个新的名字,在这个程序中我们使用 typedef 来声明比率。Typedef 创建可以在任何地方使用的别名来代替类型名称,它可以在同一行声明一个或多个标识符,也可以用于声明数组和函数类型、指针、引用、类类型等。
Input: 1/3 and 3/9 Output: 3/9 is greater than 1/3. Input: 4/16 and 4/16 Output: 4/16 is equals to the 4/16.
首先我们声明两个比率
然后分配两个比率的值。
然后我们检查 ratio1 的值是否大于或等于 ratio2 的值。
使用 ratio_greater_equal 我们可以检查
// 用于演示 ratio_greater_equal 工作的 C++ 代码 #include<iostream.h> #include<ratio.h> using namespace std; int main( ){ // 申报比率 typedef ratio<10, 100> ratio1; typedef ratio<1, 10> ratio2; // 检查 ratio1 是否大于或等于 ratio2。 if (ratio_greater_equal<ratio1, ratio2>: : value ) cout< " ratio1 is greater than or equal to ratio2"; else cout<< " ratio1 is not greater than or equal to ratio2"; cout<< "endl"; return 0; }输出结果
如果我们运行上面的代码,它将生成以下输出
10/100 is greater than or equal to 1/10 1/3 is not greater than or equal to 3/9.