友元函数不能访问私有成员
还有0人有此问题
发表在C语言视频课程答疑 2017-02-16
是否精华
版块置顶:

源代码:


#include<iostream>

using namespace std;


class Timer;

class TimerFriend

{

public:

void PrintTimer(Timer & t);

void ModifyTimer(Timer & t);


};


class Timer

{

public:

Timer(int hour = 0, int minute = 0, int second = 0)

{

m_hour = hour;

m_minute = minute;

m_second = second;

}

int GetHour()const{ return m_hour; }

int GetMinute()const{ return m_minute; }

int GetSecond()const{ return m_second; }

friend void TimerFriend::PrintTimer(Timer & t);

friend void TimerFriend::ModifyTimer(Timer & t);//加类的限定    TimerFriend::  


private:


int m_hour;

int m_minute;

int m_second;

};


void TimerFriend::PrintTimer(Timer & t)

{

cout << t.m_hour << ":" << t.m_minute << ":" << t.m_second << endl;


}

void TimerFriend::ModifyTimer(Timer & t)

{

cout << "时,分,秒" << endl;

cin >> t.m_hour >> t.m_minute >> t.m_second;

cout << "修改完毕!" << endl;

}



int main()

{

Timer t0(1, 10, 20);

TimerFriend tf;

tf.PrintTimer(t0);

tf.ModifyTimer(t0);

tf.PrintTimer(t0);


system("pause");

return 0;

}


报错:如图1.png


分享到:
精彩评论 3
刘小妮儿
学分:192 LV4
2017-02-16
沙发

有时候还不报错,还能运行,运行完了继续报这个错误。

刘小妮儿
学分:192 LV4
2017-02-16
板凳

2.png这是不报错的时候

again
学分:250 LV4
2017-02-16
地板

刘小妮儿 发表于2017-02-16 10:37

2.png这是不报错的时候

我直接复过去就能运行。 没有报错。

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照