undefined reference to '.....'
编译时出现这样的问题,所有的报错都指向同一个变量:定义的time,开始就是定义为int型,没问题,改为static后就报错了,查了书才发现静态数据成员的定义及初始化与一般变量不同
在类的生命中只能声明静态数据成员的存在,由于类的声明是抽象的,静态数据成员的初始化需要在类的外部进行。比如
class Student
{……
private:
static int count; //若写成count=0则非法,声明时没有占用空间
……}
类外部
int Student::count=0; //实际占用了空间
静态数据成员在类外非配空间和初始化,在类函数内部进行修改。
根据这样的描述,我把静态的time 型的初始化挪到外面去就一切OK了~
还是基本功不扎实啊!!!