CHAPTER3-7.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:1k
源码类别:

STL

开发平台:

C/C++

  1. //文件名:CHAPTER3-7.cpp
  2. #include <iostream.h>
  3. #include <string.h>
  4. // 定义函数模板,找出三个值中最小的值,与数据类型无关
  5. template <class T>
  6. T min(T ii, T jj, T kk)
  7. {
  8. T temp;
  9.     if((ii<jj)&&(ii<kk)){ temp=ii; }
  10. else if((jj<ii)&&(jj<kk)){ temp=jj; }
  11. else { temp=kk; }
  12. return temp;
  13. }
  14. //非模板函数重载
  15. const char* min(const char* ch1, const char* ch2,const char* ch3)
  16. {
  17. const char* temp;
  18.     int result1 = strcmp(ch1,ch2);
  19.     int result2 = strcmp(ch1,ch3);
  20.     int result3 = strcmp(ch2,ch1);
  21.     int result4 = strcmp(ch2,ch3);
  22. if((result1<0)&&(result2<0)) { temp = ch1; }
  23. else if((result3<0)&&(result4<0)) { temp=ch2; }
  24. else { temp=ch3; }
  25. return temp;
  26. }
  27. // 下面是主函数
  28. void main()
  29. {
  30. cout<<min(100,20,30)<<endl;
  31. cout<<min(10.60,10.64,53.21)<<endl;
  32. cout<<min('c','a','C')<<endl;
  33. cout<<min("Anderson","Washington","Smith")<<endl;
  34. }