Special Operators http cs mst edu Special Operators

  • Slides: 17
Download presentation
Special Operators http: //cs. mst. edu

Special Operators http: //cs. mst. edu

Special Operators § Can not be nonmember functions § Includes § assignment operator =

Special Operators § Can not be nonmember functions § Includes § assignment operator = § bracket operator [] § function evaluation () http: //cs. mst. edu

Assignment // main. cpp. . . int main() { Fraction f, g, h; .

Assignment // main. cpp. . . int main() { Fraction f, g, h; . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); } http: //cs. mst. edu

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); } main: : f main: : g m_Numerator: m_Denominator: http: //cs. mst. edu main: : h m_Numerator: 2 m_Denominator: 3

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); } main: : f main: : g m_Numerator: m_Denominator: http: //cs. mst. edu main: : h m_Numerator: 2 m_Denominator: 3

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); main: : g } main: : f m_Numerator: m_Denominator: operator=: : *this main: : h operator=: : source m_Numerator: m_Denominator: m_Numerator: 2 m_Denominator: 3 http: //cs. mst. edu

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); main: : g } main: : f m_Numerator: m_Denominator: operator=: : *this main: : h operator=: : source m_Numerator: 2 m_Denominator: 3 http: //cs. mst. edu

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); main: : g } main: : f m_Numerator: m_Denominator: operator=: : *this main: : h operator=: : source m_Numerator: 2 m_Denominator: 3 http: //cs. mst. edu

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); main: : g } main: : f m_Numerator: m_Denominator: operator=: : *this main: : h operator=: : source m_Numerator: 2 m_Denominator: 3 http: //cs. mst. edu

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); main: : g } main: : f m_Numerator: m_Denominator: operator=: : *this main: : h operator=: : source m_Numerator: 2 m_Denominator: 3 http: //cs. mst. edu

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); } main: : f main: : g m_Numerator: m_Denominator: m_Numerator: 2 m_Denominator: 3 http: //cs. mst. edu main: : h m_Numerator: 2 m_Denominator: 3

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); } main: : f main: : g m_Numerator: m_Denominator: m_Numerator: 2 m_Denominator: 3 http: //cs. mst. edu main: : h m_Numerator: 2 m_Denominator: 3

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); main: : f main: : g } operator=: : *this operator=: : source main: : h m_Numerator: m_Denominator: m_Numerator: 2 m_Denominator: 3 http: //cs. mst. edu

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); main: : f main: : g } operator=: : *this operator=: : source main: : h m_Numerator: 2 m_Denominator: 3 http: //cs. mst. edu

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); main: : f main: : g } operator=: : *this operator=: : source main: : h m_Numerator: 2 m_Denominator: 3 http: //cs. mst. edu

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3);

Assignment // main. cpp. . . int main() { Fraction f, g, h(2, 3); . . . f = g = h; // fraction. cpp Fraction& Fraction: : operator = (const Fraction & source) { m_Numerator = source. m_Numerator; m_Denominator = source. m_Denominator; return (*this); main: : f main: : g } operator=: : *this operator=: : source main: : h m_Numerator: 2 m_Denominator: 3 http: //cs. mst. edu

End of Session http: //cs. mst. edu

End of Session http: //cs. mst. edu