21xrx.com
2024-11-22 08:09:06 Friday
登录
文章检索 我的文章 写文章
C++类的静态成员
2023-07-05 05:50:54 深夜i     --     --
C++ 静态成员 静态变量 静态函数

在C++中,我们可以使用静态关键字将某些成员声明为静态成员,这些成员共享在类的所有对象之间。静态数据成员和静态函数成员都属于类的静态成员。

静态数据成员可用于存储在对象间共享的数据,由于静态数据成员属于整个类,因此它们可以在所有对象之间共享。静态数据成员还可以拥有默认初始化值,只需简单地在类定义中将其初始化即可。例如,下面的代码定义了一个Car类,将其m_numOfCars成员设置为静态的:


class Car {

public:

  Car() {

    m_numOfCars++;

  }

  static int m_numOfCars;

};

int Car::m_numOfCars = 0; // 初始化静态成员

int main()

  Car car1;

  Car car2;

  std::cout << "Number of cars: " << Car::m_numOfCars << std::endl; // 输出2

  return 0;

在上面的代码中,每当创建Car对象时,构造函数将递增m_numOfCars的值。由于m_numOfCars是静态的,因此在所有车辆对象之间共享并且输出结果为2。

另一个用途是静态成员函数。静态成员函数与普通成员函数有所不同,它们只能访问静态数据成员和相同类中的其他静态成员。这是因为它们没有与类对象相关联的this指针。静态成员函数通常用于执行与类本身相关的任务,例如在没有创建对象的情况下访问静态数据成员。

使用静态成员对C++程序的性能和效率的影响极小,但它们可以让我们更好地组织和实现代码。现实中的许多编程问题都要求我们跨类和对象之间进行通信,而静态成员和静态成员函数作为跨越类之间的重要通信媒介,非常有价值。了解它们如何工作以及在代码中使用它们是每个C++程序员应该掌握的基本概念之一。

  
  

评论区

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