| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1211 人关注过本帖
标题:一个栈类的实现的问题,求教!
取消只看楼主 加入收藏
影x
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-10-15
结帖率:0
收藏
已结贴  问题点数:0 回复次数:0 
一个栈类的实现的问题,求教!
大家好,我有个问题想问一下,我想实现一个栈类,自己写了些代码(如下),现在有一个小问题:1);这个栈的数据类型都是int的,假如现在我在主函数中有两个对象,一个要用数据类型为int的,另一个要用char的,那么应该怎么办呢?  另外我这个代码没问题吧??在此先谢谢大家了!
stack.h
程序代码:
#ifndef _STACK_H
#define _STACK_H
#define STACK_INIT_SIZE    100

typedef struct tagSqStack{
    int *base;                                        // 栈底
    int *top;                                        // 栈顶
    int stacksize;
} SqStack;

class stack 
{
private:
    SqStack S;
public:
int InitStack();                            // 创建栈
void Push(int);                            // 向栈中放入数据[压栈]
void Pop(int &);                            // 从栈中取数据[弹栈]
int  GetTop();                                // 查看栈顶数据
}
#endif


stack.cpp
程序代码:
#include"stack.h"
#include<iostream>
using namespace std;                                            
                        //???为了用new,是不是在这个cpp文件里写这个#include<iostream> using namespace std;
int InitStack()                            // 创建栈
{
    S.base = new int[STACK_INIT_SIZE];
    if (!S.base) return(-1);
    S.top = S.base;
    S.stacksize = STACK_INIT_SIZE;
    return(1);
}

void Push(int e)                        // 向栈中放入数据[压栈]
{
    *S.top = e;
    S.top++;
}

void Pop(int &e)                        // 从栈中取数据[弹栈]
{
    if (S.top == S.base) return;
    S.top--;
    e = *S.top;
}

int GetTop()                                // 查看栈顶数据            
{
    if (S.top == S.base) return('E');
    return(*(S.top-1));
}


[ 本帖最后由 影x 于 2011-10-15 22:36 编辑 ]
搜索更多相关主题的帖子: 怎么办 
2011-10-15 22:34
快速回复:一个栈类的实现的问题,求教!
数据加载中...
 
   



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

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