我需要一些代码才能从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这样的特定工具进行转换(我的愿望是手工完成。)
答案 0 :(得分:2)
看起来像这样。 arg1
和arg2
变量是私有的,这意味着除非您编写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;
}