C ++中嵌套多态的最佳实践?

时间:2013-05-09 09:20:36

标签: c++ polymorphism nested-class

我有一个稍微复杂的模型,我正在重构,试图使代码更清晰,更容易维护。该模型包含一些主要功能,然后是不同的模型。每个模型还有两个类,一个用于存储(数据),第二个用于模型执行(帮助器)。辅助类在整个主循环中实例化了数百万次,但依赖于数据类。

现在我已经接近了这样的代码:

main() {
Base* dataptr = chooseInstance(int x);
Base& data = *dataptr;
// do stuff with data
};

Base* chooseInstance(x) { /* returns instance of A:Base or B:Base */ };

随后我有一个特定于A或B的辅助类,需要在整个程序中重复调用。目前我正在处理这个问题:

...
HelperBase* helper = data.getHelper(); // returns custom *HelperA or *HelperB class
helper->doStuff();
...

这种方法效果很好,但感觉不是很优雅。这是用模板或其他方式更好地处理的东西吗?

我意识到这个问题有点模糊,因为它更多的是风格问题,而不是特定的正确/错误问题 - 为此道歉。

0 个答案:

没有答案