读书人

好像对友元函数理解有有关问题!各位帮

发布时间: 2012-04-04 16:38:51 作者: rapoo

好像对友元函数理解有问题!各位帮忙看看
#ifndef TIME_H_

#define TIME_H_
#include <iostream>

class CTime
{
protected:
int m_iHour;
int m_iMin;
int m_iSec;

public:
CTime(int hour = 0, int minute = 0, int second = 0);
friend CTime operator +(CTime &time1, CTime time2);
friend CTime operator -(CTime &time1, CTime time2);
friend std::ostream &operator < <(std::ostream &os, CTime &time);
friend std::istream &operator > > (std::istream &is, CTime &time);
};

#endif


std::istream &operator < <(std::istream &is, CTime &time)
{
std::cout < < "Enter time <h:m:s> : ";
is > > time.m_iHour > > ": " > > time.m_iMin > > ": " > > time.m_iSec;

return is;
}
函数这么写为什么报错?
error C2248: 'm_iMin ' : cannot access protected member declared in class 'CTime '真的晕了!难道是不可写?

[解决办法]
std::istream &operator < <(std::istream &is, CTime &time)
应该是:
std::istream &operator > > (std::istream &is, CTime &time);

读书人网 >C++

热点推荐