静态数据成员属于类,非属于类对象,所以,定义位置就有了限制. 静态数据成员要实际地分配空间,故不能在类的声明中定义(只能声明数据成员).类声明只声明一个类的“尺寸和规格”,并不进行实际的内存分配,所以在类声明中写成定义是错误的.它也不能在头文件中类声明的外部定义,因为那会造成在多个使用该类的源文件中,对其重复定义. 静态成员函数只能调用静态成员,要调用非静态成员,只能通过类对象,但一般成员函数可以调用静态成员函数. 下面是一个综合性示例,对上面所说都有涉及: #include <iostream