c++类静态成员变量
时间: 2024-01-29 18:47:00 浏览: 100
C语言中,类静态成员变量是指在类中定义的静态变量。静态成员变量与类的实例无关,即使创建多个类的实例,静态成员变量的值也是共享的。
在C语言中,没有直接支持面向对象的概念,但可以通过结构体和函数来模拟实现。下面是一个示例代码,展示了如何定义和使用类静态成员变量:
```c
#include <stdio.h>
// 定义一个包含静态成员变量的结构体
struct MyClass {
int x;
static int y; // 静态成员变量
};
// 静态成员变量的初始化
int MyClass::y = 0;
int main() {
struct MyClass obj1, obj2;
obj1.x = 10;
obj2.x = 20;
printf("Obj1: x = %d, y = %d\n", obj1.x, obj1.y);
printf("Obj2: x = %d, y = %d\n", obj2.x, obj2.y);
// 修改静态成员变量的值
obj1.y = 5;
printf("Obj1: x = %d, y = %d\n", obj1.x, obj1.y);
printf("Obj2: x = %d, y = %d\n", obj2.x, obj2.y);
return 0;
}
```
输出结果为:
```
Obj1: x = 10, y = 0
Obj2: x = 20, y = 0
Obj1: x = 10, y = 5
Obj2: x = 20, y = 5
```
可以看到,静态成员变量被所有类的实例共享,并且可以通过类名加作用域解析运算符`::`来访问和修改。
阅读全文