运行效果:
关键代码:
item_i.hpp,IItem接口中,新增两个设置背景色的函数
这两个函数之所以要提供实现,是因为只有矩形和圆形才需要背景色,矩形和圆形,会覆盖这两个函数,提供新的实现。直线,文字,十字形不需要背景色,也不必实现这两个函数。它们直接继承接口类中的实现就可以了。如果接口类中不提供实现,那么直线,文字,十字形就也要对这两个函数提供实现。否则,直线,文字,十字形,就会含有没有实现的虚函数,导致不能创建对象。
这两个函数之所以要提供实现,是因为只有矩形和圆形才需要背景色,矩形和圆形,会覆盖这两个函数,提供新的实现。直线,文字,十字形不需要背景色,也不必实现这两个函数。它们直接继承接口类中的实现就可以了。如果接口类中不提供实现,那么直线,文字,十字形就也要对这两个函数提供实现。否则,直线,文字,十字形,就会含有没有实现的虚函数,导致不能创建对象。