package Ġchapter 0 7 Ċ Ċ data Ġclass ĠPoint 0 0 2 ( val Ġx : ĠInt , Ġval Ġy : ĠInt ) Ġ{ ĊĊĠĠĠ Ġoperator Ġfun Ġplus ( other : ĠPoint 0 0 2 ): ĠPoint 0 0 2 Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPoint 0 0 2 ( x Ġ+ Ġother . x , Ġy Ġ+ Ġother . y ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġx 1 Ġ= ĠPoint 0 0 2 ( 1 , Ġ 3 ) ĊĠĠĠ Ġval Ġx 2 Ġ= ĠPoint 0 0 2 ( 1 0 , Ġ 3 0 ) ĊĊĠĠĠ Ġprintln (( x 1 Ġ+ Ġx 2 ). plus ( x 1 )) ĊĊĊĠĠĠ Ġval Ġa 1 Ġ= Ġ 1 0 0 ĊĠĠĠ Ġval Ġb 1 Ġ= Ġ 1 2 0 ĊĠĠĠ Ġprintln ( Integer . to Binary String ( a 1 )) ĊĠĠĠ Ġprintln ( Integer . to Binary String ( b 1 )) ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġshl Ġ Ġ| ĊĠĠĠĠ Ġ* Ġshr Ġ Ġ| ĊĠĠĠĠ Ġ* Ġ ush r Ġ| ĊĠĠĠĠ Ġ* Ġand Ġ Ġ| ĊĠĠĠĠ Ġ* Ġor ĠĠ Ġ| ĊĠĠĠĠ Ġ* Ġxor Ġ Ġ| ĊĠĠĠĠ Ġ* Ġinv Ġ Ġ| ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprintln ( a 1 Ġshr Ġ 3 ) ĊĠĠĠ Ġprintln ( a 1 Ġ ush r Ġ 3 ) Ċ Ċ }