C 操作符重载不同方式区别
创始人
2024-06-22 20:30:43
0

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;   

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

【编辑推荐】

  1. C++基本函数代码示例
  2. C++断点无效解决方案
  3. C++名字空间基本内容讲述
  4. C++中英文字符串基本概念解析
  5. C++连接SQL数据库分步骤进行

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...