编写一个A类有静态变量
时间: 2023-09-17 19:06:29 浏览: 40
例子:
```python
class A:
static_var = "I am a static variable"
def __init__(self):
self.instance_var = "I am an instance variable"
```
在这个例子中,我们定义了一个类`A`,它有一个静态变量`static_var`,它的值是`"I am a static variable"`。我们还定义了一个构造函数`__init__`,它创建一个实例变量`instance_var`,它的值是`"I am an instance variable"`。
要使用静态变量,我们可以直接访问类的属性:
```python
print(A.static_var)
```
这将输出`"I am a static variable"`。
要访问实例变量,我们必须创建一个类的实例:
```python
my_a = A()
print(my_a.instance_var)
```
这将输出`"I am an instance variable"`。注意,我们可以在每个实例中设置不同的值,但静态变量的值在所有实例之间共享。
相关问题
编写一个程序,比较静态变量与动态变量的区别
静态变量和动态变量是两种不同类型的变量,它们的区别如下:
1. 存储位置不同
静态变量存储在静态存储区,也就是数据段中,而动态变量存储在堆或栈中。
2. 生命周期不同
静态变量的生命周期与程序的生命周期相同,即在程序开始运行时创建,在程序结束时销毁。而动态变量的生命周期可以通过程序控制,可以随时创建和销毁。
3. 作用域不同
静态变量的作用域可以是全局的或局部的,即在整个程序或某个函数中都可以访问。而动态变量的作用域只能是局部的,只能在其定义的作用域内访问。
4. 初始化方式不同
静态变量的初始化可以在定义时进行,也可以在程序运行时进行。而动态变量的初始化只能在程序运行时进行。
下面是一个示例程序,演示了静态变量和动态变量的区别:
```c++
#include <iostream>
using namespace std;
void func() {
static int staticVar = 0;
int dynamicVar = 0;
staticVar++;
dynamicVar++;
cout << "staticVar = " << staticVar << endl;
cout << "dynamicVar = " << dynamicVar << endl;
}
int main() {
for(int i = 0; i < 3; i++) {
func();
}
return 0;
}
```
输出结果为:
```
staticVar = 1
dynamicVar = 1
staticVar = 2
dynamicVar = 1
staticVar = 3
dynamicVar = 1
```
可以看到,静态变量 `staticVar` 在每次调用 `func()` 时都会保留上一次的值,而动态变量 `dynamicVar` 每次都会被初始化为 0。
c++编写学生类用静态成员变量统计优秀学生人数
#include<iostream>
using namespace std;
class Student{
public:
static int excellentNum;//静态成员变量,统计优秀学生的人数
string name;
int score;
Student(string name, int score){
this->name = name;
this->score = score;
if(score >= 90){//如果成绩大于等于90,则认为是优秀学生
excellentNum++;
}
}
};
int Student::excellentNum = 0;//静态成员变量初始化为0
int main(){
Student s1("张三", 80);
Student s2("李四", 95);
Student s3("王五", 91);
cout<<"优秀学生人数为:"<<Student::excellentNum<<endl;//使用类名加成员访问符访问静态成员变量
return 0;
}
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)