为了账号安全,请及时绑定邮箱和手机立即绑定

关于C++中类里面定义 静态成员变量的问题

关于C++中类里面定义 静态成员变量的问题

C++
繁花不似锦 2019-07-07 08:04:54
class a{int aa;static int aaa;};请大家看看 这个类的定义有什么问题?如果我把 static int aaa;改成static int aaa=10;一样出错 请问这是为什么?
查看完整描述

2 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

类的静态数据成员在 类内只能声明,定义和初始化必须在类外
可以这样
class a
{
int aa;
static int aaa; //静态数据成员声明
};
int a::aaa=10; //静态数据成员的定义和初始化


 


查看完整回答
反对 回复 2019-07-08
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

根本的区别,就是静态成员变量是所有对象共用的,只有一份,不会为每一个对象都分配一个不同的值。
比如,如果最长寿命是一个静态成员变量,那么你-最长寿命 和 我-最长寿命 调用的时候用的是同一个内存上的值,所有对象的调用都是这个值。
不过是非静态成员,那么这个值就不同。每个对象都有自己的值,比如名字、身高、等等

查看完整回答
反对 回复 2019-07-08
  • 2 回答
  • 0 关注
  • 415 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信