C++类的一个关于成员属性的访问问题
问题描述:
想问为什么在成员函数 int Adeadd(Person a);的函数体中可以访问并修改形参 a 的私有属性。我暂时是这样理解的。这里的具体原理是什么呀?
这是写的一个简单的测试代码
#include<iostream>
#include<string>
using namespace std;
class Person
{
public:
Person(string name,int age):m_name(name),m_age(age){}
int Adeadd(Person a)
{
a.m_age = 2;
return m_age + a.m_age;
}
private:
string m_name;
int m_age;
};
int main()
{
Person p1("张三", 15);
Person p2("王五", 12);
cout << p1.Adeadd(p2) << endl;
system("pause");
return 0;
}
答
类内的方法当然可以访问并进行修改
规定在C++的类的成员函数中,允许直接访问该类的对象的私有成员变量。