• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 379
  • Last Modified:

Checking equality in complex objects

Hi Experts,

I have a large object(by large, I mean it has many member objects) and need to provide a
isEqaul( ) function to test for equality.  What is the best way to compare equality in large objects.
I read about using hashing.  Can you provide an example?
Thank you.
0
ambuli
Asked:
ambuli
1 Solution
 
evilrixSenior Software Engineer (Avast)Commented:
Why provide an isEqual function? Why not just override the equality test operator? All you have to do is test equality of all the members. Why make it any more complicated that than? For example...
class MyClass
{
public
   bool operator == (MyClass const & rhs) const
   {
      return a_ = rhs.a_ && b_ = rhs.b_ && c_ = rhs.c_ && d_ = rhs.d_;
   }
   
private:
   int a_;
   float b_;
   char c_;
   SomeOtherObj d_;
};

if(myClass1 == myClass2)
{
   // they are the same
}

Open in new window

0
 
ambuliAuthor Commented:
Thank you evilrix.  I did not think about that.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now