C++转换构造函数和类型转换函数

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

 前言

  上一篇博文关于C++运算符重载的注意事项进行了整理(C++运算符重载使用注意事项),发现使用友元函数和成员函数定义运算符重载在使用过程中还是有一些局限性的,例如:

      1、使用友元函数重载实现两种不同数据类型的运算,是不支持交换顺序的,故需要定义2个函数。

      2、两种不同类型的数据类型进行不同简单运算时,需要针对不同的运算写不同的函数。

     比如“对象+double”、“对象-double”,"对象*double"运算如果要支持结合律,则需要定义2*3个函数。但是转换构造函数则可以解决这个问题。而类型转换函数能实现把自定义对象转换为普通类型。

概要:

转换构造函数:

        1、作用:用于把其他类型转换(普通数据类型或者其他)为自定义对象

        2、书写格式:Complex (double r) { }   //要求形参只能有一个参数

        3、注意点:转换构造函数配合使用运算符重载函数实现操作数交换律,要求是运算符重载函

             数是友元函数。

类型转换函数:

  &nbs

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值