2.根据静态成员自身的访问特性和派生类的继承方式,在类层次体系中具有不同的访问性质
3.派生类中访问静态成员,用以下形式显式说明:
类名 :: 成员
或通过对象访问 对象名 . 成员
#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();
{ i=5;
Add();
B::i++;
B::Add();
}
};
void main()
{ B x; D y;
x.Add();
x.out(); //static i = 1;
y.f();
cout<<"static i="<<B::i<<endl;//static i = 8
cout<<"static i="<<x.i<<endl; //static i = 8
//cout<<"static i="<<y.i<<endl; //错误,i 是类D的私有静态数据成员
}