PPT Slide
bbox = abox + 1; // start execution // integer constructor to create temporary for constant // binary addition operator for boxes box operator + (box & left, box & right) return box(((int) left) + (int) right); // inside addition operator // conversion of left box to integer // conversion of right box to integer // integer constructor for temporary bbox = abox + 1; // continue execution // assignment for boxes // destructor for temporary // conversion from box to integer // destructor for local variable bbox // return from function // destructor for temporary argument mybox = foo (mybox + 1); // continuation of statement // integer constructor converting result to box // assignment operation // destructor of temporary value // destructor of variable mybox