我的代碼: -函數如何訪問類對象的私有數據成員?
#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函數沒有問題),而不是該類的對象。我想知道有什麼區別,因爲我可以通過一個對象訪問私人成員,而在另一個案例中不能這樣做。這同樣適用於複製構造函數。
您可以使用朋友功能概念。 –