void Picture::copyblock(int row,int col,const Picture& p) { for(int i =0; i < p.height; ++i) { for(int j =0; j < p.width; ++j) position(i+row, j+col) = p.position(i,j); } }
Picture frame(const Picture& p) { Picture r; r.init(p.height + 2, p.width + 2); for(int i = 1; i < r.height -1; ++i) { r.position(i,0) = '|'; r.position(i, r.width - 1) = '|'; } for(int j = 1; j < r.width - 1; ++j) { r.position(0, j) = '-'; r.position(r.height - 1, j) = '-'; } r.position(0, 0) = '+'; r.position(0, r.width-1) = '+'; r.position(r.height-1, 0)= '+'; r.position(r.height-1,r.width-1)='+'; r.copyblock(1,1,p); return r; }