c – 使用一个操作符的重载来使另一个操作符超载是一种好的做法
发布时间:2020-12-16 07:13:10 所属栏目:百科 来源:网络整理
导读:我最近发现了C的优秀功能,允许程序员在他们创建的类上重载操作.作为探讨这个话题的一种方式,我决定尝试自己制作 vector课程. 作为满足我的好奇心的一点测试,我最近做了以下操作来重载我的类的相等运算符: 95 bool Vect::operator==(const Vect rhs){ 96 ret
我最近发现了C的优秀功能,允许程序员在他们创建的类上重载操作.作为探讨这个话题的一种方式,我决定尝试自己制作
vector课程.
作为满足我的好奇心的一点测试,我最近做了以下操作来重载我的类的相等运算符: 95 bool Vect::operator==(const Vect& rhs){ 96 return this->getCoord() == rhs.getCoord() 98 } 99 100 bool Vect::operator!=(const Vect& rhs){ 101 return !(*this == rhs); 102 } 这编译并正常工作.但是,我有一个关于这是好/坏做法的问题(以及为什么!).如果它是一个坏的,我不想养成这样做的习惯,或鼓励自己继续使用它,如果它是一个好的. 解决方法
运算符重载没什么不好,这是一个很好的做法.
运算符重载可帮助您编写干净且易于理解的代码,并使编辑过程更容易. PS:正如你所说,你最近遇到了操作符重载,this可能会帮助你理解它的一些规则和限制. 编辑:使用重载运算符来重载其他运算符是可以的.但它会产生两个函数调用而不是一个,考虑到性能,这是不可取的.但它并没有那么多影响. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |