手动将Python类转换为C ++类

时间:2015-03-23 19:34:05

标签: python c++

我需要一些代码才能从Python转换为C ++。由于我不太了解C ++,我想用这个例子来帮助我理解Python类如何关联/可以转换为C ++类。

给出以下Python代码:

class MyClass(object):
    # Constructor
    def __init__(self, arg1, arg2=True):
        self.Arg1 = arg1
        self.Arg2 = arg2

    # Function __my_func__
    def __my_func__(self, arg3):
        return arg3

C ++的正确翻译是什么?

我一直在尝试用tutorial on cplusplus.com教自己如何做到这一点,但我仍然不明白如何将其与Python联系起来。

我也看到了一些SO问题,询问如何将Python程序转换为C ++(例如Convert Python program to C/C++ code?),但大多数答案建议使用像Cython这样的特定工具进行转换(我的愿望是手工完成。)

1 个答案:

答案 0 :(得分:2)

看起来像这样。 arg1arg2变量是私有的,这意味着除非您编写getter / setter函数(我已为arg1添加),否则它们无法在类外部访问。< / p>

class MyClass {
    public:
        MyClass (int arg1, bool arg2 = true);
        int myFunc (int arg3);
        int getArg1 ();
        void setArg1 (int arg1);
    private:
        int arg1;  // Can be accessed via the setter/getter
        bool arg2; // Cannot be accessed outside of the class
};

MyClass::MyClass(int arg1, bool arg2 = true) {
    this.arg1 = arg1;
    this.arg2 = arg2;
}

int MyClass::myFunc (int arg3) {
    return arg3;
}

// Getter
int MyClass::getArg1 () {
    return this.arg1;
}

// Setter
void MyClass::setArg1 (int arg1) {
    this.arg1 = arg1;
}