类型转换函数、类型转换运算符

类型转换运算符使用方法

C中,只支持:

int i = 1;
float f = (float)i;

C++中,为兼容C,同样支持上述写法,
但是,推荐新写法:

float f = float(i);

类型转换函数

一般形式如下:

operator type() const;

需注意

  • 必须是类的成员函数;
  • 不能声明返回类型,形参列表也必须为空;
    但是,不能声明,不代表没有返回类型:
 class SmallInt {
 public:
	SmallInt(int i = 0) :val(i) {
		if (i < 0 || i>255)
			throw std::out_of_range("Bad SmallInt value");
	}
	operator int() const { return val; }  
	//该函数将SmallInt类型的对象转换为int型
private:
	std::size_t val;
};
  • 通常为const

其他

类型转换函数旨在将我们自己定义的类型转换为其他类型,
若想要其他类型转换为我们自己定义的类型,应该重载“=”。

参考资料:
《C++ primer》第五版

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值