草庐IT

c++ - 显示多态类

我有一个带有命令行界面的现有应用程序,我正在向其添加GUI。经常出现的一种情况是,我有一个继承自一个类的对象列表,需要在列表中显示,但每个子类的显示方式略有不同。不想使用反射/RTTI到处都有巨大的switch语句来进行显示,每个类都知道如何返回自己的摘要字符串,然后将其显示在列表中:intposition=0;for(vector::const_iteratoriDisp=listToDisplay.begin();iDisp!=listToDisplay.end();++iDisp)coutGetSummary();相似的功能可以在不同的上下文中显示不同的信息。在我们需要添加GUI