依法编程Autocodes
欢迎各位小伙伴关注”依法编程“,一起交流
一、基础知识
1、基类定义的静态成员,将被所有派生类共享。也就是说在任意一个对象中修改了静态成员变量的值,在其他对象中这个变量的值也会修改。
2、根据静态成员自身的访问特性和派生类的继承方式,在类层次体系中具有不同的访问性质(遵守派生类的访问控制)。也就是说,我们之前谈到的成员变量的访问控制与继承时的访问控制相结合来确定基类的成员在派生类中的可见性的规则,对于静态成员变量也是相同的。
3、派生类中访问静态成员,用以下形式显式说明:
类名::成员
或通过对象访问 对象名.成员
因此,在一个类中声名了静态成员变量,在接下来就需要给这个静态成员变量赋值。
程序:
#include
usingnamespacestd;
classAnimal
{
public:
Animal()
{
}
voidoutput()
{
cout
}
public:
staticinta;
intb;
protected:
private:
};
intAnimal::a=100;
classDog:privateAnimal
{
public:
Dog()
{
}
voidoutputA()
{
cout
a++;
}
public:
protected:
private:
};
intmain()
{
Dog dog;//dog对象中修改a的值
dog.outputA();//输出100
Animal animal;//animal对象中输出新的a的值
animal.output();//输出101
system("pause");
return0;
}
领取专属 10元无门槛券
私享最新 技术干货