| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1187 人关注过本帖
标题:[求助]关于头文件的问题
只看楼主 加入收藏
lzbcll
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-4-10
收藏
 问题点数:0 回复次数:11 
[求助]关于头文件的问题
对于 #ifndef
#define
.
.
#endif

要怎么用啊 小弟到现在都没弄明白啊
搜索更多相关主题的帖子: 文件 define endif ifndef 
2006-07-16 20:51
ld20349
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-7-11
收藏
得分:0 
    这个不需要太掌握吧....头文件卫士以后的趋势是渐渐淡出了。...
2006-07-16 21:30
lzbcll
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-4-10
收藏
得分:0 

我现在看的这本书是这么写的啊 但是我不知道怎么用啊 编译都通不过

2006-07-16 21:32
nick_annie
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2005-11-19
收藏
得分:0 
#ifndef 宏名//如果宏没有被定义过
执行程序段...

2006-07-16 21:33
lzbcll
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-4-10
收藏
得分:0 
这我是知道  但是为什么编译通不过呢
2006-07-16 21:36
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

代码帖一部分上来,还有错误提示是什么?


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-16 21:53
lzbcll
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-4-10
收藏
得分:0 

#ifndef time_h
#define time_h

class time{
public:
time();
void settime(int,int,int);
void printmilitary();
private:
int hour;
int minute;
int second;
};
#endif


#include <iostream.h>
#include "time.h"

time::time()
{hour=minute=second=0;}
void time::settime(int h,int m,int s)
{
hour = (h>=0&&h<24)?h:0;
minute = (m>=0&&m<60)?m:0;
second = (s>=0&&s<60)?s:0;
}
void time::printmilitary()
{
cout<<(hour<10?"0":"")<<hour<<":"<<(minute<10?"0":"")<<minute;
}

#include <iostream.h>
#include "time.h"

int main()
{
time t;
t.printmilitary();


t.settime(13,27,6);
t.printmilitary();

return 0;
}



他提示是划线的地方错

错误提示是: statement missing ;
undefined symbol 't'



我用的是tc++啊

[此贴子已经被作者于2006-7-16 22:15:29编辑过]

2006-07-16 21:59
nick_annie
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2005-11-19
收藏
得分:0 

问题出在你对头文件的命名上
time.h和C++原有的头文件重名了

#ifndef time_h
#define time_h
class Time{
public:
Time();
void settime(int,int,int);
void printmilitary();
private:
int hour;
int minute;
int second;
};
#endif

#include <iostream>
#include "Time.h"
using namespace std;
Time::Time()
{hour=minute=second=0;}
void Time::settime(int h,int m,int s)
{
hour = (h>=0&&h<24)?h:0;
minute = (m>=0&&m<60)?m:0;
second = (s>=0&&s<60)?s:0;
}
void Time::printmilitary()
{
cout<<(hour<10?"0":"")<<hour<<":"<<(minute<10?"0":"")<<minute;
}

#include <iostream>
#include "Time.h"
using namespace std;
int main()
{
Time t;
t.printmilitary();

t.settime(13,27,6);
t.printmilitary();

return 0;
}


2006-07-17 00:53
lzbcll
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-4-10
收藏
得分:0 

可是当我把头文件名给改了以后,它显示找不到这个头文件啊

2006-07-18 20:32
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

//////////////////
//Time.h
/////////////////
#ifndef time_h
#define time_h
class Time{
public:
Time();
void settime(int,int,int);
void printmilitary();
private:
int hour;
int minute;
int second;
};
#endif

//////////////////////////
//Time.cpp
//////////////////////////
#include <iostream>
#include "Time.h"
using namespace std;
Time::Time()
{hour=minute=second=0;}
void Time::settime(int h,int m,int s)
{
hour = (h>=0&&h<24)?h:0;
minute = (m>=0&&m<60)?m:0;
second = (s>=0&&s<60)?s:0;
}
void Time::printmilitary()
{
cout<<(hour<10?"0":"")<<hour<<":"<<(minute<10?"0":"")<<minute;
}

//////////////////
//main.cpp
/////////////////
#include <iostream>
#include "Time.h"
using namespace std;
int main()
{
Time t;
t.printmilitary();

t.settime(13,27,6);
t.printmilitary();

return 0;
}


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-18 21:01
快速回复:[求助]关于头文件的问题
数据加载中...
 
   



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

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