基类中的static成员,在整个继承层次中只有一个实例:
在派生类中访问static成员的方法:
1.基类名::成员名
2.子类名::成员名
3.对象,成员名
4.指针->成员名
5.成员名
class A{
public:
ststic std::size_t object_count()
{
return 100;
}
protected:
ststic const std::size_t obj_count=99;
}
class B:public A
{
public:void f(const B&b,B *b2)
{
A::obj_count=99;//静态成员初始化
cout<<A::obj_count<<endl;// 第一种方法
cout<<B::obj_count<<endl;//2
cout<<b.obj_count<<endl;//第三种方法
cout<<b2->obj_count<<endl;//指针访问 法4
cout<<obj_count<<endl;//直接去访问 //法5
//调用静态的成员函数 ,也可以用5中方法
cout<<A::obj_count()<<endl;
cout<<B::obj_count()<<endl;
cout<<b.obj_count()<<endl;//第三种方法
cout<<b2->obj_count()<<endl;//指针访问 法4
cout<<obj_count()0<<endl;//直接去访问 //法5
}
}
int main()
{
B b;
b.f(b);
system("pause");
return 0;
}