VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 374|回复: 1

[求助] c++ operator == 的疑问

[复制链接]
31_avatar_middle
online_vip xtayaitak 发表于 2018-2-26 10:16:07 | 显示全部楼层 |阅读模式
3驿站币
定义了operator == 之后,调用 != 还需要 定义一个operator != 运算符吗?


  1. class CTestObj
  2. {
  3. public:
  4.         CTestObj(int n1, int n2) : a(n1), b(n2) {}
  5.         bool  operator== (const CTestObj & other) const
  6.         {
  7.                 return (a == other.a && b == other.b);
  8.         }
  9.         operator bool() const
  10.         {
  11.                 return a > 0 && b > 0;
  12.         }



  13.         int a = 0;
  14.         int b = 0;

  15. };


  16. int _tmain(int argc, _TCHAR* argv[])
  17. {
  18.         CTestObj a(5, 11);
  19.         CTestObj b(6, 11);

  20.         bool c = (a != b);
  21.         system("pause");
  22.         return 0;
  23. }

复制代码





上一篇:ADO链接数据库
下一篇:我是C++新手,能不能帮我解决关于string的一个疑问?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-2-26 10:28:16 | 显示全部楼层
必须的啊,== 和 != 是两个运算符,当然得重载两次了。
不过楼主可以写一个类似 is_equal 的函数用来比较结果,之后重载 == 和 != 的时候调用下 is_equal 这个函数就可以了,简单方便!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-12-11 05:05

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表