class A { int d = 0;}
如果B 和C都是类A的成员函数
class A
{
int d = 0;
void C(){ d++;}
void B()( d--;}
}
类A实例化a1和a2两个对象,a1.C(), a1.B()都是调用的类A的实例a1的数据成员d,与实例a2.d无关
如果类A不存在不同的实例对象里边有不同的d,可以把d声明成静态static,实现其全局唯一性.
这个时候,类A的所有的实例都共享同一个d,
class A
{
static int d = 0;
}
A::d = 5;
A a1, a2, a3;
a1.d , a2.d, a3.d的值是都5,
a1.d = 10; //同样,a2.d a3.d的值都自动变成了10,因为这个d都是同一个静态成员.
访问这个d有2种方法,
1通过类名称访问 A::d =5; int i = A::d;
2通过类的任何一个实例对象访问,比如A a1; a1.d = 5; int i = a1.d;
温馨提示:内容为网友见解,仅供参考