C++ 使用字符串在C++;

C++ 使用字符串在C++;,c++,string,C++,String,我想知道是否有一种方法可以获取一个字符串,该字符串的输出命名要调用的函数,然后调用该函数,而无需编写一堆if或switch语句。更具体地说,我有许多对象都继承自一个抽象基类,该基类有一个名为getType()的函数返回一个字符串,表示其类型: virtual const string getType() 我有一个指向派生对象的Base*列表,但是不能仅使用Base*调用派生对象中的一些函数。所以我计划询问对象是什么类型的,然后动态转换为该类型,然后调用其函数。所以我想知道是否有一种方法,获取

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

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


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

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

您解释说您正在使用向下转换对某些类型调用专用函数,但不清楚这需要如何从字符串中查找函数。可能使用一些
std::map
s?请查看
decltype
boost::signals2