各位师哥师姐我想请教下这个程序
#include<iostream.h>class B
{public:
static void Add() {i++;}
static int i;
void out(){cout<<"static i="<<i<<endl;}
};
int B::i=0;
class D:private B
{ public:
void f();
};
void D::f()
{ i=5;
Add();
B::i++;
B::Add();
}
void main()
{ B x; D y;
x.Add();
x.out();
y.f();
cout<<"static i="<<B::i<<endl;
cout<<"static i="<<x.i<<endl;
//cout<<"static i="<<y.i<<endl; //错误 i 是类D的静态数据成员
}
程序运行结果:
static i=1
static i=8
static i=8
各位师哥师姐我想请教下这个程序最后一个输出语句显示错误 可为什么还能输出结果呢....