在一个类中如何去写静态变量和静态成员函数
时间: 2024-03-12 21:45:56 浏览: 24
在一个类中,可以使用static关键字定义静态变量和静态成员函数。静态变量和静态成员函数不依赖于类的实例,可以在类被创建之前就被访问和使用。
以下是一个示例,演示如何在类中定义静态变量和静态成员函数:
```
class MyClass {
public:
static int m_staticVar; // 静态变量
static void staticFunc(); // 静态成员函数
void nonStaticFunc(); // 非静态成员函数
};
// 在类外定义静态变量,需要加上类名和作用域解析符::
int MyClass::m_staticVar = 0;
// 定义静态成员函数
void MyClass::staticFunc() {
// 访问静态变量
m_staticVar++;
std::cout << "Static function called!" << std::endl;
}
// 定义非静态成员函数
void MyClass::nonStaticFunc() {
// 访问静态变量
m_staticVar++;
std::cout << "Non-static function called!" << std::endl;
}
```
在上面的示例中,定义了一个名为MyClass的类,其中包含了一个静态变量m_staticVar和一个静态成员函数staticFunc。在类中声明静态变量和静态成员函数时需要使用static关键字。
在类外定义静态变量时,需要加上类名和作用域解析符::。在定义静态成员函数和非静态成员函数时,可以直接在函数名前加上static关键字来定义静态成员函数,或者不加static关键字来定义非静态成员函数。
使用静态变量和静态成员函数时,可以通过类名和作用域解析符::来访问。例如,可以通过MyClass::m_staticVar来访问静态变量m_staticVar,通过MyClass::staticFunc()来调用静态成员函数staticFunc。