0

我目前正在一个项目中,我有一个我想要解决的情况。我有一个基类,它有一个存储一些对象的 QHash。目前我有两个派生类。问题是,对于一个派生类,我希望键是一个字符串,而对于另一个派生类,我希望它是一个 int。无论如何,基类中的逻辑都是相同的,只是键类型不同。我知道最简单的答案是只将键设为字符串,然后在我访问它时将 int 转换为该派生类中的字符串。我试图想出一个更优雅的解决方案,但也许这只是想多了。

很多访问是通过函数发生的,但有时派生类会直接访问 QHash。但这可以改变。我考虑过覆盖派生类中的调用以接受整数,然后将其转换并调用基类版本。

我不确定是否有任何方法可以使基类 QHash 具有通用键。这些功能也都使用密钥,因此它们必须遵循相同的模式。

4

0 回答 0