f1405.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:1k
源码类别:

C#编程

开发平台:

Visual C++

  1. //=====================================
  2. // f1405.cpp
  3. // template overload
  4. //=====================================
  5. #include<iostream>
  6. //-------------------------------------
  7. template<typename T>
  8. T const& max(T const& a, T const& b){
  9.   return a < b ? b : a;
  10. }//------------------------------------
  11. template<typename T>
  12. T* const& max(T* const& a, T* const& b){
  13.   return *a < *b ?  b : a;
  14. }//------------------------------------
  15. const char* const& max(const char* const& a, const char* const& b){
  16.   return std::strcmp(a,b) < 0 ? b : a;
  17. }//------------------------------------
  18. int main(){
  19.   int ia=3, ib=7;
  20.   char* s1="hello";
  21.   char* s2="hell";
  22.   std::cout<<*max(&ia, &ib)<<"n"; // match the second template
  23.   std::cout<<max(s1, s2)<<"n";    // match the max function
  24.   std::cout<<max(ia, ib)<<"n";    // match the first template
  25. }//====================================
  26.