• 全部
  • 问答

头文件问题

darcymei 2003-10-09 11:13:29
//Node.h
//----------------------------------------------
#include <iostream>
using namespace std;

enum Error_code{success,overflow,underflow};

template<typename type>
struct Node
{
type entry;
Node * next;
Node();
Node(type,Node * add_on=NULL);
};

template<typename type>
inline Node<type>::Node()
{
next=NULL;
}

template<typename type>
inline Node<type>::Node(type item, Node * add_on)
{
entry=item;
next=add_on;
}
//--------------------------------------------------------------

//Stack.h
//--------------------------------------------------------------
template<typename type>
class Queue
{
public:
Queue();
bool empty()const;
bool full()const;
int size()const;
void clear();
Error_code append(const type item);
Error_code serve();
Error_code retrieve(type& item)const;
Error_code serve_and_retrieve(type &item);
void prin()const;
~Queue();
Queue(const Queue &);
void operator = (const Queue &);
protected:
Node<type> * tail;
};
//-----------------------------------------------------------

//Queue.h
//-----------------------------------------------------------
template<typename type>
class Stack
{
public:
Stack();
bool empty()const;
Error_code push(const type &);
Error_code pop();
Error_code top(type &)const;
void prin()const;
~Stack();
Stack(const Stack &);
void operator = (const Stack &);
protected:
Node<type> *top_node;
};
//------------------------------------------------------

如上我的Stack和Queue中都要调用Node.h。
但如果有个文件同时用到Stack 和 Queue时,就会出现重复定义。
如何解决呢?(不要告诉我放在一个头文件里:))
...全文
11 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
darcymei 2003-10-10
sorry!
刚才看错了
谢谢各位
回复
darcymei 2003-10-09
比如说
现在我写一个头文件
#include "Stack.h"
#include "Queue.h"
无论我把
#ifndef _Node_H
#define _Node_H
#endif
放在Stack.h
抑或Node.h
或在新头文件里都不行
晕啊~~~~~~~~~
还请各位帮忙
回复
plusir 2003-10-09
我想应该在Node.h中加上这个
#ifndef NODE_H
#define NODE_H
.
.
.
.
// node的定义

#endif

也不知道行不,你自己试试吧,呵呵
回复
huigll 2003-10-09
头文件的格式是
#ifndef _STACK_H
#define _STACK_H




#endif
这样就不会重复编译。
回复
compboy1 2003-10-09
up
回复
发帖
C语言
创建于2007-09-28

6.3w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2003-10-09 11:13
社区公告
暂无公告