C++ :静态数据成员的问题

2024-12-20 06:37:36
推荐回答(3个)
回答1:

这个问题很简单
静态数据成员不像非静态的数据成员,它并不是对象的组成部分,这个数据成员只有一个副本而已,它存在于该类的所有对象之外.当然也可以把静态数据成员认为是特定于一个类的全局变量.
在你这个题目中三次修改,访问的都是同一内存空间,所以其值与最后的那次修改一致;

回答2:

不是说什么最后一个有效,你可以这么理解:
静态数据成员不是某个对象所特有的,它是属于整个类的。就比如说一个东西摆在那里是你们家共有的,你动它一下它会改变,而其他人也可能会动它,而最后它所处的状态并不一定是你动过后的样子,因为在你之后可能还有人动过

回答3:

更刚才的回答一样:
共享。
static_myclass::a = 20; //引用方法二
有效的是这个,如果你交换这两个语句:
static_myclass::a = 20; //引用方法二
obj1.a = 10; //引用方法一
那么结果将是10
10
10.
不信去试试。