关于c++primer上的一句话。解决方案

关于c++primer上的一句话。。。。
书上说,当设计头文件时,记住定义和声明的区别是很重要的,定义只能出现一次,而声名则可以出现多次。下面语句是一些定义,所以不应该放在头文件里:
extern   int   ival=10;
double   fica_rate;
因为偷文件包含在多个源文件中,所以不应该含有变量或函数的定义。
////////////////////////////////////////////////////////////////////////

那么请问class中的数据成员和成员函数还怎么定义阿?是不是书上指的是不应该定义全局变量和全局函数?

------解决方案--------------------
用static修饰,静态变量还必须在类外定义和初始化。如果你在头文件定义唯一全局变量,在别处使用时就要用到extern来告诉编译器。