| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1388 人关注过本帖
标题:求助!关于栈的模板类的问题
只看楼主 加入收藏
fzujj
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-9-18
收藏
 问题点数:0 回复次数:10 
求助!关于栈的模板类的问题
最近写了个用栈实现的程序,编译的时候栈的模板类出现了许多错误,麻烦哪位帮我瞧瞧
栈的模板类的代码:
#include<iostream>
using namespace std;
template <class T>
//栈的结点
class Node{
    public:
        friend class stack <T>;
        Node(const T&x);
    private:
        Node<T> * next;  
        T data;
};
template<class T>
Node<T>::Node(const T&x){
    date=x;
    next=0;
}
template<class T>
//栈
class stack{
private:
    int n;
    Node<t> * top;
public:
    stack();
int isempty();
T& head();
stack<T>& push(const T& x);
stack<T>& pop(const T& X);
int count();
~stack(){
    Node<t> *p;
    while(top){
        p=top->next;
        delete top;
        top=p;
    }
}
};
template <class T>
stack<T>::stack(){
    n=0;
    top=0;
}
template <class T>
int stack<T>::isempty(){
if(top)
return 1;
return o;
}
template <class T>
//返回栈顶的元素
T& stack<T>::head(){
    if(top)
        exit(1);
    return top->date;
}
template <class T>
//进栈
stack<T>& stack<T>::push(const T & x){
    Node<T> *P=new Node<T>(x);
    p->next=top;
    top=p;
    return *this;
}
template <class T>
//出栈
stack<T>& stack<T>::pop(const T & x){
    Node<T> *p;
    p=top;
    x=top->date;
    top=top->next;
    delete p;
    return *this;
}
template <class T>
//栈中元素个数
int stack<T>::count(){
    if(isempty())
        exit(1);
    Node<T> *p;
    p=top;
    while(p){
        p=p->next;
        n++;
    }
    return n;
}
搜索更多相关主题的帖子: 模板 
2007-12-21 11:27
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
new出来何以为栈?

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-12-21 11:41
fzujj
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-9-18
收藏
得分:0 
用指针实现栈,添加新结点不要为结点申请空间吗?
2007-12-21 15:39
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
LZ做的是链栈么???已经看到一个语法错误:
 Node<t> * top;   t 是T

樱花大战,  有爱.
2007-12-21 16:46
fzujj
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-9-18
收藏
得分:0 
链栈,哦,那是个错误,不过不是主要的错误
2007-12-21 17:08
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
在using 这句下面加一句:
template<class T>
class stack;

樱花大战,  有爱.
2007-12-21 17:21
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
你 有 很多语法错误,但是在VC6.0能通过,但是加上main以后就出现问题了,我也不知道为什么~

樱花大战,  有爱.
2007-12-21 17:25
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
stack<T>

有现成的stl啊,可以看看实现代码。

Fight  to win  or  die...
2007-12-21 19:45
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
原帖由 [bold][underline]wfpb[/underline][/bold] 于 2007-12-21 11:41 发表 [url=http://bbs.][/url]
new出来何以为栈?

此栈非彼栈,呵呵

Fight  to win  or  die...
2007-12-21 19:46
魔城侠客
Rank: 1
等 级:新手上路
帖 子:200
专家分:0
注 册:2006-4-4
收藏
得分:0 
1、应该把结点放在一个结构体内,这样看起来顺眼点
2、 Node这个类中的构造不要参数
3、习惯,应该把next赋值为NULL,因为是指针
4、POP中的参数不要,因为里面的x应该在里面定义,如果硬要不可,那把const去掉
5、head()这里,应该是if(!top)

West and east,home is best……
2007-12-21 19:59
快速回复:求助!关于栈的模板类的问题
数据加载中...
 
   



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

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