C++ 函数返回引用
展开全部
1.首先讲函数返回值:
函数有返回值时,我们可以把函数整体当一个数用。比如sin()函数的返回值是double类型,我们可以直接写double a,b,c;a=b+sin(c);再比如函数max(a,b)我们有两种定义方法。a.返回较大的值,即:
double max(double a,double b)
{
if(a>b)
return a;
else
return b;
}
我们使用时就可以写a=max(b,c)
b.如果采用另外一种方法,比如
bool max(double a,double b)
{
if(a>b)
true;
else
return false;
}
我们使用时就要写成
a=max(b,c)?b:c;
2.再来讲运算符重载。运算符重载其实只是个特殊的函数,比如:
double class::operator++(double a)
{
return a+1;
}
其实可以将operator++看成一个整体,比如为add,原函数可以写为
double add(double a)
{
return a+1;
}
使用起来就是 a=add(b);再换回去就是a=++b;
3.最后前++,后++的问题。我不知道你在哪看到有一个不能返回值的,但实际上两者都是可以返回的,只不过后++不能有形式变量,即
double class::operator++()括号内必须为空,不知道是不是楼主理解错了
就这样吧,如果还有问题,你可以hi我
函数有返回值时,我们可以把函数整体当一个数用。比如sin()函数的返回值是double类型,我们可以直接写double a,b,c;a=b+sin(c);再比如函数max(a,b)我们有两种定义方法。a.返回较大的值,即:
double max(double a,double b)
{
if(a>b)
return a;
else
return b;
}
我们使用时就可以写a=max(b,c)
b.如果采用另外一种方法,比如
bool max(double a,double b)
{
if(a>b)
true;
else
return false;
}
我们使用时就要写成
a=max(b,c)?b:c;
2.再来讲运算符重载。运算符重载其实只是个特殊的函数,比如:
double class::operator++(double a)
{
return a+1;
}
其实可以将operator++看成一个整体,比如为add,原函数可以写为
double add(double a)
{
return a+1;
}
使用起来就是 a=add(b);再换回去就是a=++b;
3.最后前++,后++的问题。我不知道你在哪看到有一个不能返回值的,但实际上两者都是可以返回的,只不过后++不能有形式变量,即
double class::operator++()括号内必须为空,不知道是不是楼主理解错了
就这样吧,如果还有问题,你可以hi我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询