C++面向对象高级编程(下) 第一周

Conversion Function 转换函数

你现在设计一个对象 class A,它可不可以被转为另外一种类型,这就是一种转换。或者是,另外一种类型可不可以转为A。一个是转出去,一个是转进来,这两个方向,我们都要谈。

现在首先谈的是转出去:

 

1、转化函数不可以有参数。转换类型而已,那有什么参数可言。

2、转化函数没有返回类型,返回类型就是operator后面的double。他也没有参数。

3、这种转化函数通常会加上const,因为并没有改变值,如上图黄色的那块函数。不写也不会报错,但是以后的情况有可能会出错。

4、转换函数可以写任何一个type都可以,不一定是基本类型,只要编译器认得就可以。

5、对于上面的调用(),编译器会先去找一个有没有“+”重载,重载函数的两个参数里面一个是int型,一个是fraction类型。编译器没找到,所以就看看有没有转换函数,把f转成double型,于是就找到了上图中黄色的函数。

 

任何一个class,只要你认为合理,你都可以写很多个转换函数。

 

未完待续 2018.11.24

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值