标题:郁闷!!!!编译器说我的 std 不是 namespace! 你说气人不气人
只看楼主
zzt_428
Rank: 2
来 自:南京师范大学
等 级:论坛游民
威 望:2
帖 子:243
专家分:22
注 册:2008-7-6
 问题点数:0 回复次数:2 
郁闷!!!!编译器说我的 std 不是 namespace! 你说气人不气人
各位论坛朋友,,我弄了个简单的程序,,编译就是不能通过.
不是说我的std不是名字空间,就是说我的cout 没有定义.
哪位知道的,,希望能指点一下,,多谢!

//mytime.h--头文件 包含Time类
#ifndef MY_TIME_H_
#define MY_TIME_H_
class Time
{
public:
    Time();
    Time(int h, int m=0);
    void AddMinutes(int m);
    void AddHours(int h);
    void Show();


    void Reset(int h=0, int m=0);
    Time operator+(const Time &t) const;
    Time operator-(const Time &t)const;
    Time operator*(double n)const;
    friend Time operator*(double n, const Time &t)
    {
        return t*n;
    }
    //friend std::ostream & operator<<(std::ostream &os, const Time &t);

private:
    int hours;
    int minutes;
};

#endif


//mytime.cpp--Time 类的实现

#include "mytime.h"



Time::Time()
{
    hours=minutes=0;
}

Time::Time(int h, int m)
{
    hours=h;
    minutes=m;
}

void Time::AddHours(int h)
{
    hours+=h;
}

void Time::AddMinutes(int m)
{
    minutes+=m;
    hours+=minutes/60;
    minutes%=60;
}

void Time::Reset(int h, int m)
{
    hours=0;
    minutes=0;
}

void Time::Show()
{
    cout << hours << ":" << minutes;
}



Time Time::operator +(const Time &t) const
{
    Time sum;
    sum.minutes=minutes+t.minutes+hours*60;
    sum.hours=sum.minutes/60;
    sum.minutes%=60;
    return sum;
}

Time Time::operator -(const Time &t) const
{
    Time diff;
    int total_1,total_2;
    total_1=minutes+hours*60;
    total_2=t.minutes+t.hours*60;

    diff.hours=(total_1-total_2)/60;
    diff.minutes=(total_1-total_2)%60;
         return diff;
}

Time Time::operator*(double n) const
{
    Time result;
   
    long totalMinutes=hours*n*60+minutes*60;
    result.hours=totalMinutes/60;
    result.minutes=totalMinutes%60;

    return result;
}


//usemytime.cpp--主函数

#include <iostream>
#include "mytime.h"
using namespace std;

int main(void)
{
    Time tobj_1(5,36);
    Time tobj_2(3,30);
    Time temp;
   
    tobj_1.Show();
    tobj_2.Show();

    temp=tobj_1+tobj_2;
    temp.Show();

    temp=tobj_1-tobj_2;
    temp.Show();



    return 0;
}

哪位用的C++ 7.0以上版本的话,帮忙编译一下,看能否通过.兄弟我穷,内存装不起高版本的.
搜索更多相关主题的帖子: std namespace 编译 
2008-09-09 18:59
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
得分:0 
确实是程序有问题啊...
首先,你mytime.cpp要怎怎么连接进主函数啊?应该也写成头文件包含进来才是啊...
其次,我想这才是你说的错误的原因:
#include <iostream>
#include "mytime.h"
using namespace std;

你先包含进了mytime.h,那么就要先编译mytime.h
而此时,using namespace std;还没发挥作用呢...
换一下顺序就好啊...
我用VC++6.0已经编译通过了...

2008-09-09 20:29
zzt_428
Rank: 2
来 自:南京师范大学
等 级:论坛游民
威 望:2
帖 子:243
专家分:22
注 册:2008-7-6
得分:0 
谢谢
谢谢楼上的!
2008-09-09 21:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-232364-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.105504 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved