【发布时间】:2016-01-20 02:12:37
【问题描述】:
我的代码:-
#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 数据类型,但在 main 中无法访问。
当我读到访问说明符时。指定只能由成员函数(我对朋友函数没有问题)访问私有,而不能由该类的对象访问。我想知道有什么区别,因为在一种情况下我可以通过对象访问私有成员,而在另一种情况下不能这样做。这同样适用于复制构造函数。
【问题讨论】:
-
你可以使用朋友功能的概念。
标签: c++ private friend access-specifier friend-function