我刚刚开始学习 C++ 中的友元函数。这是我用于概念探索的程序。
#include<iostream>
using namespace std;
class one
{
private:
int age;
public:
one()
{
age=1;
}
void setData(int num)
{
age=num;
}
friend int returnOne(one a);
};
int returnOne(one a)
{
return a.age;
}
class two
{
private:
int roll;
public:
two()
{
roll=0;
}
void setData(int num)
{
roll=num;
}
friend int returnTwo(two b);
};
int returnTwo(two b)
{
return b.roll;
}
int main()
{
one a;
two b;
a.setData(10);
b.setData(12);
cout<<returnOne(a)<<endl<<returnTwo(b)<<endl;
}
现在我担心 class 的安全性one
已经two
受到损害,因为现在任何人都可以使用这些全局定义的朋友函数来访问 classone
和 classtwo
的私有成员。如何为这些好友功能提供保护或限制其使用?