为了账号安全,请及时绑定邮箱和手机立即绑定

C++写的一个简单类模版 友元函数求最大最小值

C++写的一个简单类模版 友元函数求最大最小值

繁星coding 2019-04-13 08:36:38
如题,编译时总是说[Error]ldreturned1exitstatus(编译器devc++)`#includeusingnamespacestd;templateclassCValue{tdata[5];public:CValue(){cout
查看完整描述

2 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

你需要实例化模板函数friendtMax<>(CValue&a)
c#include
usingnamespacestd;
templateclassCValue;
templateTMax(CValue&a){
Tx=a.data[0];
for(inti=1;i<5;i++)
if(xreturnx;
}
templateTMin(CValue&a){
Tmin=a.data[0];
for(inti=1;i<5;i++)
if(min>a.data[i])min=a.data[i];
returnmin;
}
template
classCValue{
Tdata[5];
public:
CValue(){
cout<<"pleaseinput5numbers"<for(inti=0;i<5;i++)
cin>>data[i];
}
friendTMax<>(CValue&a);
friendTMin<>(CValue&a);
};
intmain(){
cout<<"整数对象a,";
CValuea;
cout<<"浮点数对象b,";
CValueb;
cout<<"整数元素对象a的元素最大值为:"<cout<<"整数元素对象a的元素最小值为:"<cout<<"浮点数元素对象b的元素最大值为:"<cout<<"浮点数元素对象b的元素最小值为:"<}
                            
查看完整回答
反对 回复 2019-04-13
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

修改了一下,看报错的行数,你就知道自己错哪里了。
还有取最大小值if(x
多用花括号,哪怕只有一行语句,保证程序可读性。
#include
usingnamespacestd;
template
classCValue{
tdata[5];
public:
CValue(){
cout<<"pleaseinput5numbers"<for(inti=0;i<5;i++)
cin>>data[i];
}
friendtMax(CValue&a);
friendtMin(CValue&a);
};
templatetMax(CValue&a){
tx=a.data[0];
for(inti=1;i<5;i++)
{
if(xx=a.data[i];
}
}
returnx;
}
templatetMin(CValue&a){
tmin=a.data[0];
for(inti=1;i<5;i++){
if(min>a.data[i]){
min=a.data[i];
}
}
returnmin;
}
intmain(){
cout<<"整数对象a,";
CValuea;
cout<<"浮点数对象b,";
CValueb;
cout<<"整数元素对象a的元素最大值为:"<cout<<"整数元素对象a的元素最小值为:"<cout<<"浮点数元素对象b的元素最大值为:"<cout<<"浮点数元素对象b的元素最小值为:"<return0;
}
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 400 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信