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および classのプライベート メンバーにアクセスできるようになったため、 classone
およびclass のセキュリティが侵害されているのではないかと心配しています。これらのフレンド機能を保護したり、使用を制限したりするにはどうすればよいですか?two
one
two