在一个项目中,我们的团队正在使用对象列表对应该以类似方式处理的数据集执行大量操作。特别是,不同的对象在理想情况下会表现出相同的行为,这很容易通过多态性来实现。我遇到的问题是继承意味着是一种关系,而不是具有关系。例如,几个对象有一个伤害计数器,但为了使其易于在对象列表中使用,可以使用多态性——除非这意味着一个是一个关系不会是真的。(人不是伤害计数器。)我能想到的唯一解决方案是让类的成员在隐式转换时返回正确的对象类型,而不是依赖继承。放弃是一个/有一个的理想以换取编程的便利会更好吗?编辑:更具体地说,我正在使用C++,因此使用多态性将允许不同的对象在派生类可以驻留在单个列表中并由基类的虚函