13,874
社区成员
发帖
与我相关
我的任务
分享
using namespace std;
template <typename T>
class Test
{
private:
T max;
T address;
public:
T maxn(T arr[],int i);
};
template <typename T>
T Test<typename T>::maxn(T arr[],int i)
{
for(int j=0;j<i;j++)
{
arr[j]>arr[j+1]?max=arr[j]:max=arr[j+1];
}
cout<<max<<"ok";
return max;
}
//类的特化
template <>
class Test<char*>
{
private:
char* max;
char* address;
public:
char* maxn(char* arr[],int i);
};
template <typename char*>
char* Test<typename char*>::maxn(char* arr[],int i)
{
for(int j=0;j<i;j++)
{
(*arr[j]).size>(*arr[j+1]).size?adress=arr[j]:address=arr[j+1];
}
cout<<address<<"it is ok";
return address;
};
int arr[6]={1,2,3,4,5,6};
double arr1[4]={6,7,8,9};
char *arr2[5]={"asd","asdf","asdsaf","asdgsdggfhfdh","sdafgahdsfsdljg"};
Test <int> t1;
t1.maxn(arr,6);
Test <double> t2;
t2.maxn(arr1,4);
Test<char*> t3;
t3.maxn(arr2,5);
system("pause");