Моего кода: -Как функция получает доступ к частному элементу данных объекта класса?
#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), а не объектом этого класса. Я хотел знать, какая разница, из-за чего я могу получить доступ к частному члену объектом в одном случае и не могу сделать это в другом. То же самое применимо и для конструктора копирования.
Вы можете использовать концепцию функции друга. –