若有以下程序: #include <iostream> using namespace std; template <class T> T min(T x,T y) { if(x<y) retur

admin2010-03-29  28

问题 若有以下程序:
   #include <iostream>
   using namespace std;
   template <class T>
   T min(T x,T y)
   {
      if(x<y)
         return x;
      else
         return y;
   }
   int main()
   {
      int n1=2,n2=10;
      double d1=1.5;d2=5.6;
      cout<<min(n1,n2)<<",";
      cout<<min(d2,d2)<<end1;
      return 0;
   }
   程序运行后的输出结果是【  】。

选项

答案2,1.5

解析 上述程序中主函数的作用是从函数变量的两个值中挑选小的。在 main()中有两次调用min()函数,第1次以两个整数调用该函数,第2次以两个双精度数调用该函数。程序将min()设计成函数模板。当执行“min(n1,n2)”时,便建立了该函数模板的一个实例,这个过程称为函数模板实例化。生成的模板函数中两个变量的类型是int,int代替了占位符T,这个模板函数可以比较两个整数的大小。同理,当执行“min(d1,d2)”时,创建了该函数模板的第2个实例。
转载请注明原文地址:https://kaotiyun.com/show/PFjp777K
0

最新回复(0)