21xrx.com
2024-11-05 20:47:35 Tuesday
登录
文章检索 我的文章 写文章
C++中的静态类成员属于整个类
2023-07-09 00:55:59 深夜i     --     --
C++ 静态 类成员

在C++中,除了实例化的对象所拥有的成员变量和成员函数外,还存在一种被称为静态成员的成员变量和成员函数。静态成员是与类本身相关联的成员,而不是特定的对象。因此,静态成员通常被用于用于整个类中共享数据和方法。

其中,静态类成员就是指被声明为static关键字的类成员。和普通类成员不一样的是,静态类成员属于整个类而非对象。这意味着即使没有创建任何实例,也可以访问静态类成员。静态类成员和全局变量很类似,但是它们的作用域仅限于类内部且可以直接访问。

下面是一个例子,我们在类中声明了一个静态成员变量,以及使用了它:


class MyClass

  public:

    static int staticVar;

    int nonStaticVar; 

;

int MyClass::staticVar = 0;

int main()

  MyClass object1;

  MyClass object2;

 

  object1.staticVar = 1;

  object2.staticVar = 2;

  

  std::cout << "object1.staticVar: " << object1.staticVar << std::endl;  // 输出:2

  std::cout << "object2.staticVar: " << object2.staticVar << std::endl;  // 输出:2

  std::cout << "MyClass::staticVar: " << MyClass::staticVar << std::endl; // 输出:2

  return 0;

在上述代码中,我们定义了一个MyClass类,并为该类添加了一个静态成员变量staticVar。然后我们创建了两个类的实例object1和object2,并分别将staticVar的值分别设置为1和2。由于静态成员属于整个类而不是特定的对象,因此这两个实例中的staticVar值都变成了2。

除了静态类成员变量以外,C++还支持静态成员函数。静态成员函数基本上和静态成员变量非常相似,只是它是一个可以被类本身而不是实例调用的函数。

总之,静态类成员是C++中一种非常有用的概念。它们可以用来表示对整个类共享的数据和方法,并且在某些情况下可以提高程序的效率。因此,在设计C++类时,建议使用静态成员变量和函数,以不仅限于对象本身, 而是整个类。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复