zr47175 2015-01-25 05:30 采纳率: 0%
浏览 1848

C++关于友元函数问题(VS2013编译环境提示错误)

这段代码用VS2013调试出来能够有黑窗口,且正常运行,但是VS2013总是提示错误,说是Date类的month,day , year不可访问,他们虽然声明为private,但是友元
函数不能访问Date类的私有成员吗?

#include
using namespace std;
class Date;
class Time
{
public:
Time(int, int, int);
void display(Date &);
private:
int hour;
int minute;
int sec;
};
class Date
{
public:
Date(int,int,int);
friend void Time::display(Date &);
private:
int month;
int day;
int year;
};
Time::Time(int h, int m, int s)
{
hour = h;
minute = m;
sec = s;
}

void Time::display(Date &d)
{
cout << d.month << "/" << d.day << "/" << d.year << endl;
cout << hour << ":" << minute << ":" << sec << endl;
}
Date::Date(int m, int d, int y)
{
month = m;
day = d;
year = y;
}
int main()
{
Time t1(10, 13, 56);
Date d1(10,01,2011);
t1.display(d1);
return 0;
}

  • 写回答

2条回答 默认 最新

  • threenewbee 2015-01-25 12:24
    关注

    代码没错啊

    http://codepad.org/C7caUaou

    输出
    10/1/2011
    10:13:56

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?