次のように、クラスの小なり演算子をオーバーロードしています。
#include<string>
using namespace std;
class X{
public:
X(long a, string b, int c);
friend bool operator< (X& a, X& b);
private:
long a;
string b;
int c;
};
そして実装ファイル:
#include "X.h"
bool operator < (X const& lhs, X const& rhs)
{
return lhs.a< rhs.a;
}
ただし、オブジェクトを介していても、プライベートデータメンバーとして宣言されているa
ため、実装ファイルのデータメンバーにアクセスできませんか?a
X