1、在类的内部仅仅进行声明
为什么?
因为如果这样的话,每构造一个对象就要进行一次初始化,而这样就不能达到类共享的目的。
2、在类的外部要进行初始化
为什么?
因为在类的仅仅进行了声明(编译器会这样认为),没有分配存储空间,在类外进行初始化话,是为了分配存储空间。
3、初始化时不加static
示例
#include "stdafx.h"
#include <iostream>
using namespace std;
class A
{
public:
static int num;
void show()
{
cout<<num<<endl;
}
};
//static int A::num=100; //非法
int A::num;
int main(void)
{
A temp=A();
temp.show();
system("pause");
return 0;
}