我有两节课:
class MyClassInfo {
public:
void AddMethod(std::string name, void* pointer); // I don't know what signature should be
}
class MyClass
{
public:
void SetField1(int f1);
int GetFileld1();
private:
int field1;
};
我需要能够在运行时通过名称(字符串)访问 MyClass 的方法。我不想使用任何库(boost 除外)和/或编译器功能(例如 rtti)来做到这一点。
我不知道应该在 AddMethod 方法中使用哪个签名,因为我不知道如何将函数指针传递给函数。此函数必须是允许添加任何方法的通用函数。Mb,你知道一个更好的变体如何在没有 MyClassInfo 的情况下做到这一点。任何帮助将不胜感激。