目录
一、C++中私有成员的访问权限
C++私有成员访问权限是基于类的,而不是基于对象的。
在 C++ 中,当你在类的成员函数内部访问私有成员时无论这个私有成员是属于当前对象(
this
)还是来自外部传入的本类对象,都不会报错。这是因为C++中私有成员访问权限是基于类的,而不是基于对象的。【不同与Java和Python】
下面是一个简单的例子来说明这一点:
class MyClass { private: int privateMember; public: MyClass(int value) : privateMember(value) {} void setPrivateMember(const MyClass& other) { // 这里可以访问其他对象的私有成员,尽管是通过外部传入的对象 this->privateMember = other.privateMember; } int getPrivateMember() const { return privateMember; } }; int main() { MyClass obj1(10); MyClass obj2(20); obj1.setPrivateMember(obj2); // obj1 现在有和 obj2 相同的私有成员值 std::cout <<