类型转换函数和友元函数

你要知道普通成员函数和友元函数都能实现操作符的重载,有的时候你声明的操作符重载函数的形参是两个对象,但是实参中有一个类型兼容类型变量,这个时候如果你的类中存在类型转换函数,它就可能把原来是对象的那个实参通过类型转换函数转换成类型兼容类型,那么这就不是两个对象在运算了,这也就偏离了你的初衷。

当你使用一个成员函数版的操作符重载函数时,原本的调用者应该是该类的对象,但实际上调用者是一个类型兼容类型的变量,它显然不能成为成员重载函数的调用者,于是调用失败了。而一个友元函数却不会出现此状况,并且友元函数在接受实参时会使用构造函数将一个类型兼容类型转换为类类型。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,153评论 1 51
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,507评论 9 118
  • 2017年10月11日 星期三 晴 啪的一声,我的一记无影掌正中我妈面门,这是我对妈妈下班回家的热烈欢迎。我妈...
    格子记阅读 3,890评论 0 1
  • 今天周六,上午上班,下午休息。 雨季来临,躺在床上听雨,发呆,做白日梦,越想越开心。 这个下午也是九月的最后一天,...
    天使小鱼儿阅读 2,047评论 3 7
  • 门,和钥匙 --- 林海峰作品 2017-08-10 整体自然医学 林海峰作品 有时候,可以很简单。整个世界,其实...
    清远_a429阅读 3,919评论 0 1

友情链接更多精彩内容