首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于类中,有元函数的定于有关问题,多谢

2012-03-12 
关于类中,有元函数的定于问题,谢谢!类的头文件中:#ifndefTIME_H#defineTIME_H#includeiostreamusingname

关于类中,有元函数的定于问题,谢谢!
类的头文件中:
#ifndef   TIME_H
#define   TIME_H
#include   <iostream>
using   namespace   std;
class   Time{
private:
int   hours;
int   mimutes;
public:
void   show()const;
Time(int   hour=0,int   mimute=0);
friend   ostream   &   operator   < <   (   ostream   &os,const   Time   &m_time);

};
#endif
CPP文件中
#include   "Time.h "
#include   <iostream>
using   namespace   std;
ostream   &   operator < <(ostream   &os,const   Time   &m_time)
{
os < < "hours: " < <m_time.hours < < "mimutes: " < <m_time.mimutes < <endl;
return   os;
}
为什么这样会提示错误,函数不能访问类的私有成员?
而如果头文件这样定义:

#ifndef   TIME_H
#define   TIME_H
#include   <iostream>
class   Time{
private:
int   hours;
int   mimutes;
public:
void   show()const;
Time(int   hour=0,int   mimute=0);
friend   std::ostream   &   operator   < <   (   std::ostream   &os,const   Time   &m_time);

};
#endif

不用using   namespace   std;
而在ostream   加上名称空间STD就没有问题?


[解决办法]
VC6 是吧
VC6中 对友原函数支持不好
例如这样的代码通常编译不过去
friend ostream & operator < < ( ostream &os,const Time &m_time);
[解决办法]
换VC8吧
[解决办法]
vs2005下没有这个问题,楼主用的什么编译器
[解决办法]
VC6对C++标准支持不是很好
[解决办法]
把vc6 打补丁阿,或者换ide 或者改头文件为 <iostream.h>
[解决办法]
搞不明白,同样的问题。。。。。不能让这帖子下去,谁来帮忙解答一下

热点排行