我的情况如下:有一些MyList类可能会在稍后得到特定的实现。目前,像std :: vector这样的行为很好。但是,我真的需要一种简单的方法来调用某种asString()/ toString()方法,因为我需要它在测试断言,调试输出等等。我看到的唯一选项是:如何将asString()/ toString()添加到std :: vector?
公有遗传。我永远不会通过基指针删除这样的列表,因为不应该有任何基指针。如果我这样做,无论如何都不会有指针成员。然而,经验法则仍然指出:不要从stl容器继承。
某种“全局”(实际上在命名空间中,当然)方法,它将MyList的实例作为参数并为我执行asString()魔术。在这种情况下,MyList可以是std :: vector的简单typedef。
我不喜欢这些选项太多。还有什么我没有想到的?或者如果不是,我应该选择哪种方式?
分离,我想。调试框架为什么要负责知道如何显示“MyList”? –