📜  C ++ |模板|问题9

📅  最后修改于: 2021-06-28 19:02:18             🧑  作者: Mango

输出?

#include 
using namespace std;
  
template 
T max (T &a, T &b)
{
    return (a > b)? a : b;
}
  
template <>
int max  (int &a, int &b)
{
    cout << "Called ";
    return (a > b)? a : b;
}
  
int main ()
{
    int a = 10, b = 20;
    cout << max  (a, b);
}

(A) 20
(B)叫20
(C)编译器错误答案: (B)
说明:上面的程序是模板专门化的示例。有时候,我们希望特定数据类型的函数/类模板具有不同的行为。为此,我们可以为该特定数据类型创建专用版本。
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。