• 找课程
  • 找学校
  • 找资料
  • 成才首页
  • 高考
  • 外语
  • 考研
  • 公务员
  • 计算机/IT
  • 职业培训
  • 基础教育
  • 司法考试
  • 出国留学
  • 管理学院
  • 文体艺术
  • 课程
  • 学校
  • 资料
  • 社区
当前位置:成才网 > 新闻中心 > 计算机/IT > > 正文
面向对象上机考试题—关于堆栈
2007-02-11 16:06:56  来源:考试大      标签:西班牙语 
    1.请实现一个栈,既可以存放整数,又可以存放字符串。简单的说,栈是一种数据结构,按照后进先出的顺序管理进、出栈的元素。本题要求完成:  

    (1) 实现描述栈的类Stack,其中定义了栈的大小Size(即栈中可以存放的元素个数),并包括进栈函数Push,出栈函数Pop和显示栈顶元素的函数Top。 
 
    (2) 定义基类Element,至少包含纯虚函数ShowMe。  

    (3) 从基类Element中派生整数类MyInteger和字符串类MyString, 具体实现上述纯虚函数ShowMe,显示该元素的类型和相应的值。  

    (4) 重载输入“>>”*作符,使得可以通过cin直接读入上述整数类和字符串类的对象值。 
 
    (5) 编写main函数,测试上述所要求的各种功能,即可以根据菜单命令增加栈元素、删除栈元素、显示栈顶元素,其中的元素可以是整数和/或字符串。  

    提示:虚拟基类Element的定义至少包括以下纯虚函数ShowMe,  
    class Element  
    {  
    // ……  
    public:  
    virtual void ShowMe () = 0;  
    // ……  
    };  

    */  

    #include "stdafx.h"  
    #include "iostream.h"  
    #include "string.h"  
    const max=1000;  
    #define NULL 0  

    class Element  
    {  
    public:  
    virtual void ShowMe () = 0; };  
    
    class MyInteger:public Element  
    { int a;  
    public:  
    MyInteger(){a=0;}  
    friend istream &operator>>(istream &is, MyInteger &MyI);  
    int Get() {return a;};  
    void ShowMe()  
    {  
    cout<<" 整数:"<}  
    };  
    
    istream &operator>>(istream &is, MyInteger &MyI)  
    { is>>MyI.a;  
    return is;}  

    class MyString:public Element  
    { char s[100];  
    public:  

    friend istream &operator>>(istream &is, MyString &MyS);  
    void ShowMe()  
    { cout<<" 字符串:"<};  

    istream &operator>>(istream &is, MyString &MyS)  
    { is>>MyS.s;  
    return is; }  

    class stack  
    { MyString MyS[max];  
    MyInteger MyI[max];  
    int top;  
    public:  
    stack() {top=-1;}  
    void push(MyInteger &My)  
    { MyI[++top]=My; }  

    void push(MyString &My)  
    { MyS[++top]=My; }  

    void Top()  
    {  
    if (empty()) cout<<"栈为空"<else MyI[top].ShowMe();  
    }  
    void Tops()  
    {  
    if (empty()) cout<<"栈为空"<else MyS[top].ShowMe();  
    }  

    void pop()  
    { MyI[top--].ShowMe(); }  

    void pops()  
    { MyS[top--].ShowMe(); }  

    bool empty()  
    { return (bool)(top==-1); }  

    bool full()  
    { return (bool)(top==max-1); }  
    };  

    int main(int argc, char* argv[])  
    { MyInteger My1;  
    MyString My2;  
    stack st1, st2;  
    int i, j;  

    cout<<"请输入要进栈整数个数:";  
    cin>>j;  
    cout<<"请输入"<for (i=0; i{ cin>>My1;  
    st1.push(My1);  
    }  
    cout<<"栈顶元素为:";  
    st1.Top();  
    cout<<"请输入要出栈的元素个数:";  
    cin>>j;  
    cout<<"依次出栈元素为:"<for (i=0; ist1.pop();  
    cout<<"出栈后栈顶元素为:";  
    vst1.Top();  
    cout<<"请输入要进栈的字符串个数:";  
    cin>>j;  
    cout<<"请输入"<for (i=0; i{  
    cin>>My2;  
    st2.push(My2);  
    }  
    cout<<"栈顶元素为:";  
    st2.Tops();  
    cout<<"请输入要出栈的元素个数:";  
    cin>>j;  
    cout<<"依次出栈元素为:"<for (i=0; ist2.pops();  
    cout<<"出栈后栈顶元素为:";  
    st2.Tops();  

    return 0;  
    }  
上一篇:《IT项目管理》总结:项目时间管理
下一篇:等级考试一级笔试计算机应用基础复习题
   (已有0人评论)
相关新闻
-  桓文教育CCNA、CCNP开班情况火爆,学员好评如潮
-  谷歌与流氓软件为伍不是出路
-  微软陈永正肯定北京奥运会要用Vista系统
-  资深IT教育专家提醒您:慎选IT培训机构
-  网络招聘需提防虚假信息
-  IT人才需求量继续猛增
学习资料免费下载
  • -  [日语] 将軍と大名   立即下载
  • -  [自考] 全国2008年1月高等教育自学考试法律文书写作   立即下载
  • -  [自考] 08自考“政治经济学(财)”知识点(二)   立即下载
  • -  [西班牙语] 西班牙语常用动词的基本用法(二)    立即下载
  • -  [西班牙语] 与美女搭讪西班牙语12句    立即下载
  • -  [日语] 标准日本语句型7   立即下载
  • -  [日语] 学习日语中的客套话    立即下载
  • -  [市场营销] 解析“招商”的三重境界    立即下载
  • -  [市场营销] 成为优秀业务员必经的三个发展阶段    立即下载
  • -  [市场营销] 营销练得是细功夫    立即下载
  • 进入下载更多更全的资料>>
  • 有更好的资料但是不想共享?可以开店售卖你的资料,把它变成真正的财富!
学习吧社区 • 论坛 • 博客 • 圈子
-  [司法考试] 2008年国家司法考试【新法】必看 东界
-  [公务员考试] 经验分享:我的国家公务员考试全程经验 ftisland
-  [司法考试] 2008年司法考试:构建你整体的复习思路 钢笔
-  [公务员考试] 公务员考试经验谈:我和我的梦擦肩而过 和田
-  [司法考试] 2008年司法考试备考:心态决定成败 钢笔
-  [公务员考试] 考试经验交流:公务员考试复习实战三招 东界
  • 司法考试商经考点之用人单位...

  • 陈若琳摘金"童言无忌" "什么好吃吃什么"...

  • 公务员考试心得:在明媚的春光里舞蹈...

  • 奥运会最牛女裁判:17岁周丽娜走红网络...

  • “少年发明家”高考得266分 被高校破格录取...

成才网温馨提示

  • 由于学校开课信息变动较快,未能及时变更信息。为了保证您的正常学习,请您在报名前拨打页面中的免费咨询电话了解详情后进行报名。
  • 更多问题请咨询客服中心:
  • 4006504560-789000(手机固话均可拨打)
  • 服务时间:周一至周日 早9:00-18:00
  • >>立即免费注册教誉通,免费发布学校信息及课程信息,让更多学员找到您!

最新课程

  • •
  • 2009届艺术类高复班招生 09月08日
  • •
  • 2010届、2011届三校生高考辅导班 09月01日
  • •
  • 2009届三校生高复班招生简章 09月01日
  • •
  • 高级营销员资格培训 08月15日
  • •
  • 营销员资格培训 08月15日
  • •
  • 助理营销师资格培训 08月15日
  • •
  • 营销师资格培训 08月15日
  • •
  • 清华大学《现代企业资本战略》董... 09月22日

更多优惠

  • •
  • 摄影师职业培训  学费1200  成才价1104  省 96元
  • •
  • 美德创意广告英语培训  学费1650  成才价1550  省 100元
  • •
  • 信息化营销师  学费1996  成才价786  省 1210元
  • •
  • 中科院软件需求分析和管理短训班  学费3600  成才价3240  省 360元
  • •
  • 中科院高级软件测试课程短训班  学费3800  成才价0  省 3800元
  • •
  • 软件项目管理实践  学费3300  成才价0  省 3300元
  • •
  • 游戏学院游戏美术设计  学费16800  成才价16800  省 0元
  • •
  • 游戏学院游戏程序开发  学费16800  成才价16800  省 0元
  • •
  • 北大青鸟网络工程师培训  学费4675  成才价4488  省 187元
  • •
  • 英华新概念英语二册课程  学费1290  成才价1290  省 0元
  • •
  • 英华新概念英语(三册)课程  学费1100  成才价1056  省 44元
  • •
  • VS.NET企业级开发培训课程  学费5580  成才价0  省 5580元

推荐教育机构

最受关注的学校

  • •  北京第二外国语学院旅游发展研究院
  • •  上海复旦托业教育培训中心
  • •  中建院培训中心
  • •  北京成功时代培训中心
  • •  北京邦杰外语学校(成教中心)
  • •  北京易中创业科技有限公司
  • •  Englishing 英格利教育
  • •  清华继续教育学院
  • •  北大青鸟丰台学知堂
  • •  杭州里仁教育咨询有限公司