C++操作符重载不同方式区别

C++编程语言可以被看做是C语言的升级版本,它能够支持C语言中的所有功能,而且在其他方面也有很大的提升。其中,在C++操作符重载中++,--需要说明是++(--)在操作数前面,还是在操作数后面,区别如下:

创新互联公司是一家集网站建设,四平企业网站建设,四平品牌网站建设,网站定制,四平网站建设报价,网络营销,网络优化,四平网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

C++操作符重载代码经过测试无误(起码我这里没问题^_^)

 
 
 
  1. #include < iostream>
  2. #include < cstdlib>
  3. using namespace std;
  4. template< typename T> class A
  5. {
  6. public:
  7. A(): m_(0){
  8. }
  9. // +
  10. const T operator + (const T& rhs)
  11. {
  12. // need to be repaired , but see it is only a demo
  13. return (this->m_ + rhs);
  14. }
  15. // -
  16. const T operator - (const T& rhs){
  17. // need to be repaired , but see it is only a demo
  18. return (this->m_ - rhs);
  19. }
  20. T getM(){
  21. return m_;
  22. }
  23. // ++在前的模式,这里返回的是引用 ,准许++++A
  24. A& operator ++ (){
  25. (this->m_)++;
  26. return *this;
  27. }
  28. // ++ 在后,这里返回的是一个新的A类型变量,且不可改变
  29. // 目的是防止出现 A++++情况
  30. const A operator ++(int a){
  31. A< T> b = *this;
  32. (this->m_)++;
  33. return b;
  34. }
  35. private:
  36. T m_;
  37. };
  38. int main(void){
  39. int i = 0;
  40. cout< < ++++i< < endl;
  41. // i++++ is not allowed
  42. A< int> a;
  43. A< int> b = ++a;
  44. cout< < b.getM()< < endl;
  45. A< int> c = a++;
  46. cout< < c.getM()< < endl;
  47. cout< < a.getM()< < endl;
  48. int t = a+2;
  49. cout< < t< < endl;
  50. system("pause");
  51. return 0; 
  52. }

以上就是对C++操作符重载的相关介绍。

名称栏目:C++操作符重载不同方式区别
链接分享:http://www.shufengxianlan.com/qtweb/news46/27046.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联