IsEquals Operator

Post on 21-Jan-2016

26 views 1 download

Tags:

description

IsEquals Operator. Code Trace. // main.cpp ... int main() { if(f==g) ... // fraction.h ... class Fraction { friend bool operator==(const Fraction & lhs, const Fraction & rhs ); ... // fraction.cpp bool operator==(const Fraction & lhs, const Fraction & rhs ) - PowerPoint PPT Presentation

transcript

http://cs.mst.edu

IsEquals Operator

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f==g) ...

// fraction.h...class Fraction{ friend bool operator==(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator==(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator==rhs.m_Numerator*lhs.m_Denominator;}

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f==g) ...

// fraction.h...class Fraction{ friend bool operator==(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator==(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator==rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in main

m_Numerator: 9m_Denominator: 32

g in main

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f==g) ...

// fraction.h...class Fraction{ friend bool operator==(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator==(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator==rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator==

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator==

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f==g) ...

// fraction.h...class Fraction{ friend bool operator==(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator==(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator==rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator==

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator==

64

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f==g) ...

// fraction.h...class Fraction{ friend bool operator==(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator==(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator==rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator==

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator==

649

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f==g) ...

// fraction.h...class Fraction{ friend bool operator==(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator==(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator==rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator==

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator==

576

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f==g) ...

// fraction.h...class Fraction{ friend bool operator==(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator==(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator==rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator==

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator==

57632

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f==g) ...

// fraction.h...class Fraction{ friend bool operator==(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator==(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator==rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator==

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator==

576329

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f==g) ...

// fraction.h...class Fraction{ friend bool operator==(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator==(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator==rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator==

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator==

576288

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f==g) ...

// fraction.h...class Fraction{ friend bool operator==(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator==(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator==rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator==

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator==

576288 false

http://cs.mst.edu

NotEquals Operator

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f!=g) ...

// fraction.h...class Fraction{ friend bool operator!=(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator!=(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator!=rhs.m_Numerator*lhs.m_Denominator;}

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f!=g) ...

// fraction.h...class Fraction{ friend bool operator!=(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator!=(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator!=rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in main

m_Numerator: 9m_Denominator: 32

g in main

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f!=g) ...

// fraction.h...class Fraction{ friend bool operator!=(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator!=(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator!=rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator!=

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator!=

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f!=g) ...

// fraction.h...class Fraction{ friend bool operator!=(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator!=(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator!=rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator!=

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator!=

64

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f!=g) ...

// fraction.h...class Fraction{ friend bool operator!=(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator!=(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator!=rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator!=

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator!=

649

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f!=g) ...

// fraction.h...class Fraction{ friend bool operator!=(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator!=(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator!=rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator!=

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator!=

576

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f!=g) ...

// fraction.h...class Fraction{ friend bool operator!=(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator!=(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator!=rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator!=

m_Numerator: 9m_Denominator: 32

g in mainrhs in operato!r=

57632

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f!=g) ...

// fraction.h...class Fraction{ friend bool operator!=(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator!=(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator!=rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator!=

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator!=

576329

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f!=g) ...

// fraction.h...class Fraction{ friend bool operator!=(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator!=(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator!=rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator!=

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator!=

576288

http://cs.mst.edu

Code Trace// main.cpp...int main(){ if(f!=g) ...

// fraction.h...class Fraction{ friend bool operator!=(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator!=(const Fraction & lhs, const Fraction & rhs){ return lhs.m_Numerator*rhs.m_Denominator!=rhs.m_Numerator*lhs.m_Denominator;}

m_Numerator: 9m_Denominator: 64

f in mainlhs in operator!=

m_Numerator: 9m_Denominator: 32

g in mainrhs in operator!=

576288 true

http://cs.mst.edu

Alternative Definition// main.cpp...int main(){ if(f!=g) ...

// fraction.h...class Fraction{ friend bool operator!=(const Fraction & lhs, const Fraction & rhs); ...

// fraction.cppbool operator==(const Fraction & lhs, const Fraction & rhs){ return !(lhs==rhs);}

http://cs.mst.edu

End of Session