C++之函数重载(2)

===函数重载就是函数多态===

  • 完成相同的工作,但使用不同的参数列表;
  • 使用上下文来确定要使用的重载函数版本(主要是根据特征标

  (类型引用和类型被编译器视为同一个特征标)

  (重载区分const 和 非const)

重载引用参数

void staff(double & ra);          //matches modifiable lvalue
void staff(const double & ra);    //matches rvalue,const lvalue
void stove(double & r1);          //matches modifiable lvalue
void stove(const double & r2);    //matches const lvalue
void stove(double && r3);         //matches rvalue

这可以根据参数是左值、const还是右值来定制函数的行为;

double x =55.5;
const double y=32.0;
stove(x);  //calls  stove(double &)
stove(y);  //calls  stove(const double &)
stove(x+y);//calls  stove(double &&)

如果没有定义stove(double&&),stove(x+y)将调用stove(const double &).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值