VC6中关于友元函数的bug的处理方法?(有源代码)解决方案

VC6中关于友元函数的bug的处理方法?(有源代码)这是VC中的BUG,该怎样修改?C/C++ code#include iostreamus

VC6中关于友元函数的bug的处理方法?(有源代码)
这是VC中的BUG,该怎样修改?

C/C++ code
#include <iostream>using namespace std;class date;class time{public:   time(int h,int m,int s):hour(h),minute(m),sec(s){}   friend void display(date &,time &);private:    int hour;    int    minute;    int sec;  };class date{public:    date(int m,int d,int y):month(m),day(d),year(y){}    friend void diaplay(date &,time &);private:    int month;    int day;    int    year;}; void display(date &d,time &t){cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl;cout<<d.year<<":"<<d.month<<":"<<d.day<<endl;}int main(){date d1(12,25,2004);  time t1(10,13,56); display(d1,t1); return 0;}

--------------------Configuration: Cpp4 - Win32 Debug--------------------
Compiling...
Cpp4.cpp
C:\Documents and Settings\ITplayer\c++调试\Cpp4.cpp(29) : error C2248: 'year' : cannot access private member declared in class 'date'
  C:\Documents and Settings\ITplayer\c++调试\Cpp4.cpp(23) : see declaration of 'year'
C:\Documents and Settings\ITplayer\c++调试\Cpp4.cpp(29) : error C2248: 'month' : cannot access private member declared in class 'date'
  C:\Documents and Settings\ITplayer\c++调试\Cpp4.cpp(21) : see declaration of 'month'
C:\Documents and Settings\ITplayer\c++调试\Cpp4.cpp(29) : error C2248: 'day' : cannot access private member declared in class 'date'
  C:\Documents and Settings\ITplayer\c++调试\Cpp4.cpp(22) : see declaration of 'day'
Error executing cl.exe.

Cpp4.obj - 3 error(s), 0 warning(s)

[解决办法]
#include <iostream>
using namespace std;


改为
#include<iostream.h>试哈

[解决办法]
class date
{
public:
date(int m,int d,int y):month(m),day(d),year(y){}
friend void diaplay(date &,time &);这里搞错了
private:
int month;
int day;
int year;
};

[解决办法]
这个问题我也遇到过,可进行如下修改:
#include <iostream> 
using namespace std; 
改为:
#include <iostream.h> 
即:更改命名空间,并将库改为C语言形式的库,而非标准C++的库.
另外,我试过打补丁的方法,没行通,不知道怎么回事.
[解决办法]
还可以这样:
C/C++ code
#include <iostream>using namespace std;class date;class time;void display(date &,time &);//将要用的友元函数前向声明一下就行.//原始代码中有个地方的display拼错.class time{public:    time(int h,int m,int s):hour(h),minute(m),sec(s){}    friend void display(date &,time &);private:    int hour;    int minute;    int sec;    };class date{public:    date(int m,int d,int y):month(m),day(d),year(y){}    friend void display(date &,time &);private:    int month;    int day;    int year;};void display(date &d,time &t){    cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl;    cout<<d.year<<":"<<d.month<<":"<<d.day<<endl;}int main(){    date d1(12,25,2004);     time t1(10,13,56);    display(d1,t1);    return 0;}