!= check on struct datatype

@PieterP

Why do you qualify the local members by this-> ?
That would normaly only be needed if there are local variables/parameters hiding the name.

You are checking the third member (which is a float) for equality, which is not a good idea generally, wouldn't

abs(three - rhs.three) < 0.0001

(or something like it with a more sensible value) be safer?

@septillion

What differences besides the standard visibility of objects do you see in C++ between struct and class?