📄 a_11_3.cpp
字号:
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
template <class T>
T Max(T x, T y) {
cout<<"调用max(T x, T y),最大值为";
return x > y ? x:y;
}
template <>
char * Max <char *>(char *x, char *y) {
cout<<"调用函数模板特例,最大值为";
return (strcmp(x , y)>0 ? x:y);
}
template <class U, int size>
U Max(U (&s)[size]) {
cout<<"调用max(U (&s) [size]),最大值为";
U tempmax = s[0];
for (int i = 0;i<size;i++)
if (tempmax < s[i])
tempmax = s[i];
return tempmax;
}
void main() {
int x = 8, y = 23;
char *m="adaafasd",*n="adgdsadf";
double a[5] ={ 2.342, 11.346, 8.93, 18.111,5.930};
cout << Max(x,y) << endl;
cout << Max(m,n)<<endl;
cout << Max(a);
cin.get(); //等待结束,以便调测程序,可以删除
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -