cpp中类似java的类类

时间:2011-05-18 14:46:25

标签: c++ reflection

我想编写一个支持多种命令的程序 为了使其通用且易于扩展以用于以后的新命令,我想为每个命令编写一个类(具有自己的处理),并使用处理函数调用基本'command'类。 我知道在Java中有一个类类来帮助处理这样的事情 - 决定'在流程上'它正在处理的类的类型。
cpp有类似的机制吗?如果是这样,它是什么以及我如何使用它? 如果没有,我该怎么办才能让它轻松扩展?

非常感谢。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

尽管可以使用Class类来决定Java中的流,但最好使用多态 - 它使得类可以在不需要修改的情况下打开扩展(SOLID中的“O”)。

在C ++中也是如此。您可以使用RTTI,但虚拟方法允许您使用命令扩展类而无需修改它。

来自Gamma等人的“设计模式”:

  

这种模式的关键是抽象   命令类,声明一个   用于执行操作的接口。在   它最简单的形式是这个界面   包括一个抽象的Execute   操作

答案 2 :(得分:0)

您可以使用RTTI,但我建议您找到另一种方法。