注册 登录
编程论坛 C++教室

哪个大侠能说说这个using namespace std怎么就错呢

yyblackyy 发布于 2010-03-31 14:45, 597 次点击
#include <iostream.h>
class Date
{
   int mo, da, yr;
public:
   Date( int m, int d, int y )
   {
      mo = m; da = d; yr = y;
   }
   friend ostream& operator<< (ostream& os, Date& dt );
};
ostream& operator<< ( ostream& os, Date& dt )
{
    os << dt.mo << '/' << dt.da << '/' << dt.yr;
   return os;
}
int main()
{
    Date d(1965,12,25);
    cout<<d<<endl;
   
    return 0;
}
*****************************************************************************************
#include <iostream>
using namespace std;
class Date
{
   int mo, da, yr;
public:
   Date( int m, int d, int y )
   {
      mo = m; da = d; yr = y;
   }
   friend ostream& operator<< (ostream& os, Date& dt );
};
ostream& operator<< ( ostream& os, Date& dt )
{
    os << dt.mo << '/' << dt.da << '/' << dt.yr;
   return os;
}
int main()
{
    Date d(1965,12,25);
    cout<<d<<endl;
   
    return 0;
}
*******************************
新手囊中羞涩。。。。请大侠不要见怪啊*^_^*
3 回复
#2
cnfarer2010-03-31 16:53
GCC编译是没问题的!VC编译器有问题!这可能是两种编译器对重载运算符处理上的差别!
#3
yyblackyy2010-03-31 17:04
懂了,我自己也试了一下,大侠出手就是不同啊。。。
#4
lyl66504212010-03-31 21:13
我用VS2008运行了,下面那个是对的,上面那个估计应该是错的,错在了.h那里,所以建议还是适度用.h吧!
1