我们都知道在定义类时,可以用private、protected等关键字将成员变量(函数)定义为私有或保护类型,在类外不能访问。但如果在类的方法中,传递该类本身的对象实例,则可以访问传递对象的私有域。
class A
{
private:
int no;
float score;
public:
//其它方法
void ChangeScroe(A &obj)
{
//在该方法中,可以访问obj对象的所有成员(无论私有、保护)
obj.score=100;
}
};
在C#、JAVA中类似。