I have a simple Rational number class and have discovered weird behavior with Cygwin's g++. If you look at the very short main program in file rtest2.cpp, you will see by the output that g++ get's the wrong answer for r1 / r2 == Rational(2,3); // should be true even though it prints as 2/3! Borland and Microsoft get it right. Any ideas? All code atached. Thanks. -- Chuck Allison (The Harmonious CodeSmith) -- Senior Editor, C/C++ Users Journal -- cda@freshsources.com