【正文】
() 。 ( 3, 3, 3 ) 。 c = a + b + c 。 () 。 c = b = a 。 () 。 } TriCoor operator + ( TriCoor t ) { TriCoor temp 。 = thisx+ 。 = thisy+ 。 = thisx+ 。 return temp 。 } a + b + c 。 ① a + b ? + (b) ↓ Object1 通過匿名對(duì)象 Object1 返回運(yùn)算結(jié)果 6. 2. 1 用成員函數(shù)重載算符 例 62 華南理工大學(xué)計(jì)算機(jī)學(xué)院 周靄如 2020 include class TriCoor { public: TriCoor( int mx = 0, int my = 0, int mz = 0 ) { x = mx 。 y = my 。 z = mz 。 } TriCoor operator + ( TriCoor t ) { TriCoor temp 。 = x+ 。 = y+ 。 = z+ 。 return temp 。 } TriCoor operator = ( TriCoor t ) { x = 。 y = 。 z = 。 return * this 。 } TriCoor operator ++ () { x ++ 。 y ++ 。 z ++ 。 return *this 。 } void show() { cout x , y , z \n。 } void assign( int mx, int my, int mz ) { x = mx。 y = my。 z = mz。 } private: int x, y, z 。 // 3_d coordinates } 。 void main() { TriCoor a( 1, 2, 3 ), b, c 。 ()。 ()。 ()。 for( int i = 0。 i 5。 i ++ ) ++ b。 () 。 ( 3, 3, 3 ) 。 c = a + b + c 。 () 。 c = b = a 。 () 。 } TriCoor operator + ( TriCoor t ) { TriCoor temp 。 = thisx+ 。 = thisy+ 。 = thisx+ 。 return temp 。 } a + b + c 。 ① a + b ? + (b) ↓ Object1 ② a + b + c Object1 + c ? + (c) 通過匿名對(duì)象 Object2 返回運(yùn)算結(jié)果 ↓ Object2 6. 2. 1 用成員函數(shù)重載算符 例 62 華南理工大學(xué)計(jì)算機(jī)學(xué)院 周靄如 2020 include class TriCoor { public: TriCoor( int mx = 0, int my = 0, int mz = 0 ) { x = mx 。 y = my 。 z = mz 。 } TriCoor operator + ( TriCoor t ) { TriCoor temp 。 = x+ 。 = y+ 。 = z+ 。 return temp 。 } TriCoor operator = ( TriCoor t ) { x = 。 y = 。 z = 。 return * this 。 } TriCoor operator ++ () { x ++ 。 y ++ 。 z ++ 。 return *this 。 } void show() { cout x , y , z \n。 } void assign( int mx, int my, int mz ) { x = mx。 y = my。 z = mz。 } private: int x, y, z 。 // 3_d coordinates } 。 void main() { TriCoor a( 1, 2, 3 ), b, c 。 ()。 ()。 ()。 for( int i = 0。 i 5。 i ++ ) ++ b。 () 。 ( 3, 3, 3 ) 。 c = a + b + c 。 () 。 c = b = a 。 () 。 } TriCoor operator + ( TriCoor t ) { TriCoor temp 。 = thisx+ 。 = thisy+ 。 = thisx+ 。 return temp 。 } a + b + c 。 ① a + b ? + (b) ↓ Object1 ② a + b + c Object1 + c ? + (c) ↓ Object2 ③ c = a + b + c 。 c = Object2 。 6. 2. 1 用成員函數(shù)重載算符 例 62 華南理工大學(xué)計(jì)算機(jī)學(xué)院 周靄如 2020 include class TriCoor { public: TriCoor( int mx = 0, int my = 0, int mz = 0 ) { x = mx 。 y = my 。 z = mz 。 } TriCoor operator + ( TriCoor t ) { TriCoor temp 。 = x+ 。 = y+ 。 = z+ 。 return temp 。 } TriCoor operator = ( TriCoor t ) { x = 。 y = 。 z = 。 return * this 。 } TriCoor operator ++ () { x ++ 。 y ++ 。 z ++ 。 return *this 。 } void show() { cout x , y , z \n。 } void assign( int mx, int my, int mz ) { x = mx。 y = my。 z = mz。 } private: int x, y, z 。 // 3_d coordinates } 。 void main() { TriCoor a( 1, 2, 3 ), b, c 。 ()。 ()。 ()。 for( int i = 0。 i 5。 i ++ ) ++ b。 () 。 ( 3, 3, 3 ) 。 c = a + b + c 。 () 。 c = b = a 。 () 。 } TriCoor operator = ( TriCoor t ) { thisx = 。 thisy = 。 thisz = 。 return * this 。 } c = b = a 。 ① b = a ? = (a) ② c = b ? = (b) 返回調(diào)用函數(shù)的對(duì)象 6. 2. 1 用成員函數(shù)重載算符 例 62 華南理工大學(xué)計(jì)算機(jī)學(xué)院 周靄如 2020 include class TriCoor { public: TriCoor( int mx = 0, int my = 0, int mz = 0 ) { x = mx 。 y = my 。 z = mz 。 } TriCoor operator + ( TriCoor t ) { TriCoor temp 。 = x+ 。 = y+ 。 = z+ 。 return temp 。 } TriCoor operator = ( TriCoor t ) { x = 。 y = 。 z = 。 return * this 。 } TriCoor operator ++ () { x ++ 。 y ++ 。 z ++ 。 return *this 。 } void show() { cout x , y , z \n。 } void assign( int mx, int my, int mz ) { x = mx。 y = my。 z = mz。 } private: int x, y, z 。 // 3_d coordinates } 。 void main() { TriCoor a( 1, 2, 3 ), b, c 。 ()。 ()。 ()。 for( int i = 0。 i 5。 i ++ ) ++ b。 () 。 ( 3, 3, 3 ) 。 c = a + b + c 。 () 。 c = b = a 。 () 。 } TriCoor operator ++ () { thisx ++ 。 thisy ++ 。 thisz ++ 。 return *this 。 } ++ b。 ++ b ? ++ () 沒有參數(shù) 6. 2. 1 用成員函數(shù)重載算符 例 62 華南理工大學(xué)計(jì)算機(jī)學(xué)院 周靄如 2020 include class TriCoor { public: TriCoor( int mx = 0, int my = 0, int mz = 0 ) { x = mx 。 y = my 。 z = mz 。 } TriCoor operator + ( TriCoor t ) { TriCoor temp 。 = x+ 。 = y+ 。 = z+ 。 return temp 。 } TriCoor operator = ( TriCoor t ) { x = 。 y = 。 z = 。 return * this 。 } TriCoor operator ++ () { x ++ 。 y ++ 。 z ++ 。 return *this 。 } void show() { cout x , y , z \n。 } void assign( int mx, int my, int mz ) { x = mx。 y = my。 z = mz。 } private: int x, y, z 。 // 3_d coordinates } 。 void main() { TriCoor a( 1, 2, 3 ), b, c 。 ()。 ()。 ()。 for( int i = 0。 i 5。 i ++ ) ++ b。 () 。 ( 3, 3, 3 ) 。 c = a + b + c 。 () 。 c = b = a 。 () 。 } ri oor operator = ( TriCoor t ) { x = 。 y = 。 z = 。 return * this 。 } void a sign( int mx, int my, int mz ) { x = mx。 y