C++ 我不清楚如何与内联和其他代码转换进行互操作(我想知道其他语言如何处理这个问题)。 class modify_field { public: std::string modify(std::string str) {

C++ 我不清楚如何与内联和其他代码转换进行互操作(我想知道其他语言如何处理这个问题)。 class modify_field { public: std::string modify(std::string str) {,c++,C++,我不清楚如何与内联和其他代码转换进行互操作(我想知道其他语言如何处理这个问题)。 class modify_field { public: std::string modify(std::string str) { return str; } }; int main() { modify_field mf; std::string str,str1,str2; str = fetch_function_nam

我不清楚如何与内联和其他代码转换进行互操作(我想知道其他语言如何处理这个问题)。
class modify_field 
{
    public:
        std::string modify(std::string str)
        {
            return str;
        }

};
int main()
{
modify_field  mf;
std::string str,str1,str2;
str = fetch_function_name(); //fetch_function_name() returns string modify
str2 = "check";
cout << str; //prints modify
str1 = str + "(" +str2 + ")";
mf.str1(); 
}
#include <algorithm>
#include <string>
#include <iostream>
#include <functional>

class modify_field 
{
public:
    std::string modify(std::string str)
        {
            return str;
        }

    std::string reverse(std::string str)
        {
            std::reverse(str.begin(), str.end());
            return str;
        }
};


typedef std::function<std::string(modify_field&, std::string)> funcptr;


funcptr fetch_function(std::string select)
{
    if (select == "forward")
        return &modify_field::modify;
    if (select == "reverse")
        return &modify_field::reverse;
    return 0;
}



int main()
{
    modify_field mf;

    std::string example = "CAT";

    funcptr fptr = fetch_function("forward");
    std::cout << "Normal: " << fptr(mf, example) << std::endl;

    fptr = fetch_function("reverse");
    std::cout << "Reverse: " << fptr(mf, example) << std::endl;
}
#include<iostream>
using namespace std;

class modify_field
{
    public:
        std::string modify_1(std::string str)
        {
            return str;
        }
        std::string modify_2(std::string str)
        {
            return str + str;
        }
};

int main()
{
    string (modify_field::* fun_ptr) (string) = &modify_field::modify_1;
    modify_field m;
    cout << (m.*fun_ptr)("test") << endl;
    fun_ptr = &modify_field::modify_2;
    cout << (m.*fun_ptr)("test") << endl;
}