重载,,,模板。。。。。
各位高手,
一开始先定义一个模板。。。。。
template<class Type>
Type max(Type d1,Type d2)
{
if(d1>d2)
return d1;
else return d2;
}
然后有定义一个函数
char * max(char*,char*);
请问这个函数和char max(char,char)
有什么区别???该怎么使用呀。。。。
望赐教。。。。。。。。。。
问题点数:20、回复次数:6Top
1 楼sbg(宝宝酥)回复于 2002-05-18 11:14:29 得分 0
char * max(char*,char*);
char max(char,char);
当然有区别啦,你不能说这个是重载,他们原本就是两个函数Top
2 楼sbg(宝宝酥)回复于 2002-05-18 11:16:16 得分 0
max<char*>(d1,d2);Top
3 楼cyli888(改行做工程了(suntek))回复于 2002-05-18 11:16:59 得分 0
那怎么使用呀。。。。
最好举个例子。。。。谢谢Top
4 楼cyli888(改行做工程了(suntek))回复于 2002-05-18 11:26:55 得分 0
max<char*>(d1,d2);
???
什么意思呀 。。。。
本人出学。。请指教Top
5 楼benjiamen()回复于 2002-05-18 11:29:57 得分 20
我的理解是
char * max(char*,char*) 是申明了一个返回字符串常量指针的函数,且两个参数也是字符串常量指针。
如调用时是这样的。
char *str1;
char buffer1[]="abcdefg";
char buffer2[]="hijklmn";
str1=max(buffer1,buffer2);
cout<<"The max string is "<<str1;
**********************************
//但是你上面的模板是不能对两个字符串进行比较。
char max(char,char) 是申明了一个返回字符的函数,且两个参数也是两个字符
char max_str;
char str1='A';
char str2='D';
max_str=max(st1,str2);
cout<<"The max string is "<<max_str;
Top
6 楼cyli888(改行做工程了(suntek))回复于 2002-05-19 08:25:10 得分 0
茅塞顿开。。。。。。。。。Top




