Bracket Operator
Code Trace // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); }
Code Trace main:: f m_Numerator: 3 m_Denominator: 4 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f m_Numerator: 3 m_Denominator: 4
Code Trace main:: f m_Numerator: 3 m_Denominator: 4 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f m_Numerator: 3 m_Denominator: 4
Code Trace main:: f operator[]::index m_Numerator: 3 m_Denominator: 4 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f operator[]::index m_Numerator: 3 m_Denominator: 4 5
Code Trace main:: f operator[]::index m_Numerator: 3 m_Denominator: 4 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f operator[]::index m_Numerator: 3 m_Denominator: 4 5
Code Trace main:: f output buffer m_Numerator: 3 m_Denominator: 4 4 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f output buffer m_Numerator: 3 m_Denominator: 4 4
Code Trace main:: f output buffer m_Numerator: 3 m_Denominator: 4 _4 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f output buffer m_Numerator: 3 m_Denominator: 4 _4
Code Trace main:: f output buffer m_Numerator: 3 m_Denominator: 4 _4 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f output buffer m_Numerator: 3 m_Denominator: 4 _4
Code Trace main:: f output buffer operator[]::index m_Numerator: 3 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f output buffer operator[]::index m_Numerator: 3 m_Denominator: 4 _4 1
Code Trace main:: f output buffer operator[]::index m_Numerator: 3 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f output buffer operator[]::index m_Numerator: 3 m_Denominator: 4 _4 1
Code Trace main:: f output buffer m_Numerator: 3 m_Denominator: 4 4_4 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f output buffer m_Numerator: 3 m_Denominator: 4 4_4
Code Trace main:: f output buffer m_Numerator: 3 m_Denominator: 4 _4_4 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f output buffer m_Numerator: 3 m_Denominator: 4 _4_4
Code Trace main:: f output buffer m_Numerator: 3 m_Denominator: 4 _4_4 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f output buffer m_Numerator: 3 m_Denominator: 4 _4_4
Code Trace main:: f output buffer operator[]::index m_Numerator: 3 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f output buffer operator[]::index m_Numerator: 3 m_Denominator: 4 _4_4
Code Trace main:: f output buffer operator[]::index m_Numerator: 3 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f output buffer operator[]::index m_Numerator: 3 m_Denominator: 4 _4_4
Code Trace main:: f output buffer operator[]::index m_Numerator: 3 // main.cpp ... int main() { Fraction f(3,4); cout<<f[0]<<“ ”<<f[1]<<“ ”<<f[5]; // fraction.cpp int Fraction::operator [] (const int index) return (index==0 ? m_Numerator : m_Denominator); } main:: f output buffer operator[]::index m_Numerator: 3 m_Denominator: 4 3_4_4
Overloaded Wookie
End of Session