解决办法:通过返回调用函数的对象的引用,可以将一些操作链接起来简化代码书写。
这里要注意,display函数返回的是const引用,因此在调用move函数中返回非const引用时无法实现转换导致出错。
解决的办法就是通过成员函数是否为const实现函数重载,定义两套函数,分别作为const成员函数和非const成员函数。
代码片段如下:
这样非常量myScreen调用非const版本的display函数,而const的blank对象调用const版本的display函数,从而避免了混淆。