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

class a
{
int aa;
static int aaa;
};
请大家看看 这个类的定义有什么问题?
如果我把 static int aaa;改成static int aaa=10;
一样出错 请问这是为什么?

繁花不似锦
浏览 419回答 2
2回答

扬帆大鱼

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

泛舟湖上清波郎朗

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