C++ 在C+中的类方法中声明类变量+;

C++ 在C+中的类方法中声明类变量+;,c++,python,class,oop,function,C++,Python,Class,Oop,Function,在python中,我们可以使用self关键字在类的成员函数中声明类变量,该类的其他成员函数随后可以使用这些变量。 如何在C++中做这样的事情 Python代码: class abc(): { 定义初始化(自): self.help='Mike'#self.help是类变量,可以在其他方法中使用 def helpf(): morehelp=自助+自行车 } C++代码: class abc { public: abc(); public: void he

在python中,我们可以使用self关键字在类的成员函数中声明类变量,该类的其他成员函数随后可以使用这些变量。 如何在C++中做这样的事情 Python代码:

class abc():
{ 
定义初始化(自):
self.help='Mike'#self.help是类变量,可以在其他方法中使用
def helpf():
morehelp=自助+自行车
}
C++代码:

 class abc
 {
   public: 
     abc();
   public: 
     void helpf(void);
 };
 abc::abc()
 {
   string help="Mike";       
 }
 void abc::helpf()
 {
   string morehelp=this->helpf+" Bike";// this keyword sounded like the one but...
 }

不能在C++中声明类成员内部函数。您必须在函数之外声明它们,就像在JAVA中一样

class abc
{
public: 
   int publicInt; // This is a public class variable, and can be accesed from outside the class
   int abc();
private: 
   float privateFloat; // This is private class variable, and can be accesed only from inside the class and from friend functions
   void helpf(void);
};

不能在C++中声明类成员内部函数。您必须在函数之外声明它们,就像在JAVA中一样

class abc
{
public: 
   int publicInt; // This is a public class variable, and can be accesed from outside the class
   int abc();
private: 
   float privateFloat; // This is private class variable, and can be accesed only from inside the class and from friend functions
   void helpf(void);
};

在C++中没有办法做到这一点。
你应该在类中声明成员,而不是函数。

在C++中没有办法这样做。
您应该在类中声明成员,而不是在函数中声明成员。

这是不可能的。在成员函数中声明变量是该成员函数的局部变量。如果要在成员函数中使用变量,必须声明类变量。

这是不可能的。在成员函数中声明变量是该成员函数的局部变量。如果你想在你的成员函数中使用变量,你必须声明类变量。

这在Python中是有效的,因为Python允许你通过赋值从任何地方向对象添加属性。它附加到该对象,而不是对象的类。与Python的动态语言哲学保持一致,特别是由于它缺少变量声明,所有这些——包括关于哪些属性存在或不存在的决定——都发生在运行时


C++明确地没有一个特定对象具有属性的概念——所有成员变量都与类相关联,即使它们在每个实例上都有独立的值。所有可能的成员变量的集合,以及它们所持有的类型,都是在类范围内共享的,并在编译时固定下来。正因为如此,你所要求的基本上在C++中没有意义。

在Python中起作用,因为Python允许你简单地通过赋值给对象添加属性。它附加到该对象,而不是对象的类。与Python的动态语言哲学保持一致,特别是由于它缺少变量声明,所有这些——包括关于哪些属性存在或不存在的决定——都发生在运行时


C++明确地没有一个特定对象具有属性的概念——所有成员变量都与类相关联,即使它们在每个实例上都有独立的值。所有可能的成员变量的集合,以及它们所持有的类型,都是在类范围内共享的,并在编译时固定下来。正因为如此,你所要求的基本上在C++中没有意义。

这不是Python,你的例子不是“类变量”。它是一个实例ValueCe+++是静态类型的语言,而Python是动态类型的语言。这一事实允许您在类的方法中创建实例变量,只需将前缀为
self.
的值赋给它们即可。C++中没有等价物——所有成员都必须在引用之前声明它。这不是Python,并且你的例子不是“类变量”。它是一个实例,ValueCe+++是静态类型的语言,而Python是动态类型的语言。这一事实允许您在类的方法中创建实例变量,只需将前缀为
self.
的值赋给它们即可。C++中没有等价物——所有成员必须在被引用之前声明。