抽出演算子の再ロードについて


今日は以下のコード(キーコードフラグメントのみ表示)が作成され、VS 2015で正常に動作していますが、VC 6.0でエラーメッセージが表示されます.
#include
using namespace std;
class vct
{
private:
	double x, y;
public:
	//vct(double X = 0, double Y = 0) { x = X, y = Y; }
	//~vct() {}
	//void set(double X = 0, double Y = 0) { x = X, y = Y; }
	//vct operator+(vct& rival);
	//vct operator-(vct& rival);
	friend ostream& operator<

ここでは、ストリームオブジェクトcoutを出力するための抽出演算子'<を再ロードします.
error C2593: 'operator <
Friend関数が定義されているにもかかわらず、プライベートメンバー変数にアクセスできないという問題が発生しました.
error C2248: 'x' : cannot access private member declared in class 'vct'
error C2248: 'y' : cannot access private member declared in class 'vct'
解決策は、クラス定義の前にクラスを宣言し、メンバー関数ではないため、友元関数の関数ヘッダを前に配置することです.これは合理的です.
#include
using namespace std;
class vct;		//     
ostream& operator<