我想将一些Python类转换为C++,但我有一些麻烦。我有一个基类,它有一个类(静态)变量和返回它的方法。我也有一个派生类将覆盖类(静态)变量,像这样,C++继承使用静态变量的成员函数
在Python:
class Base:
class_var = "Base"
@classmethod
def printClassVar(cls):
print cls.class_var
class Derived(Base):
class_var = "Derived"
d = Derived()
d.printClassVar()
其打印出所希望的派生类变量,“派生”。任何想法如何在C++中获得相同的功能?我试过但最终得到了基类的类变量。
在C++
class Base
{
public:
static void printStaticVar(){cout << s_var << endl;}
static string s_var;
};
string Base::s_var = "Base";
class Derived : public Base
{
public:
static string s_var;
};
string Derived::s_var = "Derived";
void main()
{
Derived d;
d.printStaticVar();
}
或者,而不是有一个静态变量在所有的,只是回报一个常数,在这个例子中。然而,这可能不适合所有的解决方案。 –