我的代码: -函数如何访问类对象的私有数据成员?
#include<iostream>
using namespace std;
class a{
private:
int x;
public:
a(int data)
{
x=data;
}
friend void printPrivateMember(a);
};
void printPrivateMember(a obj)
{
cout<<obj.x; //I can access private data member by an object inside this function.
}
int main()
{
a obj1(5);
printPrivateMember(obj1);
cout<<obj1.x; //this gives error
return 0;
}
我想知道,以我怎么可以用一个对象在友元函数访问私有数据类型,但在主不能这样做。
当我阅读有关访问说明符。它指定private可以只被成员函数访问(我对friend函数没有问题),而不是该类的对象。我想知道有什么区别,因为我可以通过一个对象访问私人成员,而在另一个案例中不能这样做。这同样适用于复制构造函数。
您可以使用朋友功能概念。 –