给出了在 C++ 中显示 ratio_greater () 函数工作的任务。
给定的函数 Ratio_greater 检查 ratio1 的值是否大于 ratio2。它返回一个布尔常量“值”,如果 ratio1 大于 ratio2 则返回 true,否则返回 false。
Template <ratio1, ratio2> ratio_greater
该函数接受两个模板参数,一个是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 1/3 Output: 4/16 is greater than 1/3.
首先我们声明这两个比率。
然后分配两个比率的值。
然后我们检查 ratio1 的值是否大于 ratio2 的值。
使用 ratio_greater 我们可以检查
// 用于演示 ratio_greater 工作的 C++ 代码 #include<iostream> #include<ratio> using namespace std; int main( ){ // 申报比率 typedef ratio<1, 2> ratio1; typedef ratio<1, 4> ratio2; // 检查 ratio1 是否大于 ratio2。 if (ratio_greater<ratio1, ratio2>: : value ) cout<< “ ratio1 is greater than ratio2”; else cout<< “ ratio1 is not greater than ratio2”; cout<< “ endl”; return 0; }输出结果
如果我们运行上面的代码,那么它将生成以下输出
1/2 is greater than 1/4. 1/3 is not greater than 1/2.