前言
上一篇博文关于C++运算符重载的注意事项进行了整理(C++运算符重载使用注意事项),发现使用友元函数和成员函数定义运算符重载在使用过程中还是有一些局限性的,例如:
1、使用友元函数重载实现两种不同数据类型的运算,是不支持交换顺序的,故需要定义2个函数。
2、两种不同类型的数据类型进行不同简单运算时,需要针对不同的运算写不同的函数。
比如“对象+double”、“对象-double”,"对象*double"运算如果要支持结合律,则需要定义2*3个函数。但是转换构造函数则可以解决这个问题。而类型转换函数能实现把自定义对象转换为普通类型。
概要:
转换构造函数:
1、作用:用于把其他类型转换(普通数据类型或者其他)为自定义对象
2、书写格式:Complex (double r) { } //要求形参只能有一个参数
3、注意点:转换构造函数配合使用运算符重载函数实现操作数交换律,要求是运算符重载函
数是友元函数。
类型转换函数:
&nbs

本文介绍了C++中的转换构造函数和类型转换函数。转换构造函数用于将其他类型转换为自定义对象,便于运算符重载实现顺序交换。类型转换函数则能让自定义对象转换为普通类型,但需要注意与运算符重载的二义性问题。文章通过实例详细阐述了两者的使用方法和注意事项。
最低0.47元/天 解锁文章
1443

被折叠的 条评论
为什么被折叠?



