版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33249383/article/details/85045048
类的所有成员函数都可以访问本类的私有成员,但是静态成员函数没有this指针,因此通过 该类的对象作为函数参数,可以显示访问该类的私有成员。
测试程序如下:
#include <stdio.h>
class Demo
{
private:
int i;
public:
int getI();
static void StaticSetI(Demo& d, int v);
};
int Demo::getI()
{
return i;
}
void Demo::StaticSetI(Demo& d, int v)
{
d.i = v;
}
int main()
{
Demo d;
//d.i = 11;
Demo::StaticSetI(d, 10);
printf("d.i = %d\n", d.getI());
return 0;
}