1、基类定义的静态成员,将被所有派生类共享
2、根据静态成员自身的访问特性和派生类的继承方式,在类层次体系中具有不同的访问性质 (遵守派生类的访问控制)
3、派生类中访问静态成员,用以下形式显式说明:
类名 :: 成员 或通过对象访问 对象名 . 成员
class A
{
public:
//3.A类中添加构造函数
//A类的构造函数中 A的构造函数变成私有的时候
//被别的类继承要小心
A(){b = 0;}
~A(){}
public:
static int a;
private:
int b;
};
int A::a = 10;//
class B:private A
{
public:
B()
{
c = 0;
a++;//2.不是简单的变量赋值 更重要的是 要告诉c++编译器 你要给我分配内存 我在继承中用到静态变量,不然会报错
}
void Print()
{
cout<<a<<endl;
}
~B(){}
private:
int c;
};
///main
{
A a1;
B b1;
//b1.a = 20;//1.static关键字 遵守 派生类的访问控制规则
a1.a++;
//b1.A::a++;//遵从访问控制
b1.Print();
}