到底私有成员可以被什么访问,总觉得书上说的不对

来源:百度知道 编辑:UC知道 时间:2024/06/25 15:32:47
到底私有成员可以被什么访问,总觉得书上说的不对
我看到既不是友元函数也不是别的成员函数就可以访问
是对象直接访问,请问为什么
比如
class Person{
public:
Person();
Person(Person a);
private:
int x;
}
Person:Person(Person a)
{
x = a.x;
}
请问这个是什么访问
为什么对象a就可以直接访问
?????????????????????????????????????????????????
这个是被对象访问的啊
你们怎么说是被成员函数访问
如果成员成员函数访问的话,直接访问x就可以了,为什么要带a.x那??????????

class Person{
public:
Person();
Person(Person a);
注意,Person(Person a); 是函数内部的,可以访问
私有成员可以被所在类的成员函数访问,也可以被友元类的函数或者友元函数访问

函数内部访问。
定义域内

那个Person:Person(Person a) 仍然是成员函数呀,只不过是在类的外部定义的罢了~