问答题

#include < iostream.h >
#include < string.h >
class Bas
{ int m;
static int n;
public:
Bas(int i =0) {n ++; m =i;}
void show() { cout << "n:" <<n << endl; }
};
Bas::n =0;
class Der:public Bas
{ public:
Der(int i=0):Bas(i) {}
};
void main()
{ Der d(3);
d.show();}

【参考答案】

Bas::n=0; 静态数据成员需要在类外进行初始化,但这里格式不正确。应改为int Bas::n=0; 。