使用字符串在C ++中编写代码

时间:2014-03-23 18:14:47

标签: c++ string

我想知道是否有办法获取一个字符串,其输出命名一个函数来调用,然后调用该函数而不编写一堆if或switch语句。更具体地说,我有许多对象都继承自一个抽象基类,它有一个名为getType();的函数,它返回一个string表示它们的类型:

virtual const string getType() 

我有一个Base *的列表都指向派生对象,但是派生对象中的某些函数不能仅使用Base *来调用。所以我计划询问对象是什么类型,然后动态转换为该类型,然后调用它的函数。所以我想知道是否有一种方法,取一个字符串并使用该字符串被编译器解释为代码?

我知道我的方法可能有点草率想要动态转换为派生类,但我仍然想知道我是否可以将字符串解释为代码,并且希望听到更好的想法。

1 个答案:

答案 0 :(得分:0)

不幸的是,我不相信你想要的是什么。基指针指向的对象应该能够向其所有方法发送消息,而不仅仅是虚拟方法。我无法肯定地说,因为您没有发布任何代码,但我认为您的子类中的方法的访问级别修饰符可能有问题。