C++:函数模板

[复制链接]
发表于 2025-8-17 16:59:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
所谓函数模板就是定义一个通用的函数,不指定详细的参数,用一个虚拟参数取代;
当函数调用时,会根据实参判定详细的范例。
注意:不要利用默认参数;可以重载但尽量不要重载。
  1. #include<iostream>
  2. using namespace std;
  3. //以往我们要输出三个类型的变量时
  4. //void Show(int a)
  5. //{
  6. //        cout << a << endl;
  7. //}
  8. //
  9. //void Show(char a)
  10. //{
  11. //        cout << a << endl;
  12. //}
  13. //
  14. //void Show(string str)
  15. //{
  16. //        cout << str << endl;
  17. //}
  18. template<typename T>
  19. void Show(T a)
  20. {
  21.         cout << a << endl;
  22. }
  23. int main()
  24. {
  25.         Show(100);
  26.         Show('x');
  27.         Show("abcd");
  28.         return 0;
  29. }
复制代码
这里的typename也可以换成class,二者可以互换,但嵌套依赖范例:必须利用typename。
另有一点注意如下所示:
  1. #include<iostream>
  2. using namespace std;
  3. template<typename T>
  4. void AA(T t1, T t2)
  5. {
  6.         cout << t1 << " " << t2 << endl;
  7. }
  8. template<typename T1,typename T2>
  9. void BB(T1 t1, T2 t2)
  10. {
  11.         cout << t1 << " " << t2 << endl;
  12. }
  13. int main()
  14. {
  15.         AA(10, 20);
  16.         //AA(10, 3.14);//不行
  17.         BB(10,20);
  18.         BB(10, 3.14);
  19.         return 0;
  20. }
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表