您的位置: 首页 >> 新闻中心 >> 计算机 >> 软件开发
面向对象上机考试题(3)——关于堆栈(续)
■ 最新课程推荐更多课程>>
学校培训课程开课时间上课地点精英价报名
正辰培训 微软软件测试工程师电话预约西直门教学区¥4704
新 科 海 软件测试工程师就业班电话预约海淀长远天地¥6280
北师大IT 软件工程与测试实战班电话预约北京师范大学¥1800
北师大IT 高级网络工程师就业班电话预约北京师范大学¥13000
金 同 方 网络工程师就业周末班电话预约人大总部¥7000

//建立一个栈类,能够存放图形元素(矩形或圆形),有入栈,出栈,
//取栈顶的功能。建立元素类,里面至少一个纯虚函数,矩形和圆形类
//来实现里面的函数SHOWME,实现他的显示图形信息的功能。重载>>,
//能够输入图形信息。测试以上类的功能。


#include "stdafx.h"
#include "iostream.h"
#include "string.h"
const n=50;

class shape
{
protected:
double width, length;
public:
shape() {}
virtual void ShowMe()=0;
};

class rectangle:public shape
{
public:
rectangle():shape(){}
friend istream &operator>>(istream &is, rectangle &rec)
{
cout<<"请输入长方形的长:";
is>>rec.length;
cout<<"请输入长方形的宽:";
is>>rec.width;
return is;
}
void ShowMe()
{
cout<<"长方形的长宽分别为:("<<<","<}
};

class circle:public shape
{
private:
//double x, y;
double r;
public:
circle():shape(){r=0;}
friend istream &operator>>(istream &is, circle &cir)
{
cout<<"请输入圆的圆心坐标(x,y):";
is>>cir.width;
is>>cir.length;
cout<<"请输入圆的半径:";
is>>cir.r;
return is;
}
void ShowMe()
{
cout<<"圆的圆心坐标为:("<<<" 半径为:"<}
};

class stack
{
shape *sp[n];
rectangle rec[n];
circle cir[n];
int size;
public:
stack()
{
for (int i=0; isp[i]=NULL;
size=-1;
}
bool empty(){return size==-1;}
bool full(){return size==n-1;}

void push(rectangle &rect)
{
rec[++size]=rect;
sp[size]=new rectangle;
sp[size]=&rec[size];
}
void push(circle &circ)
{
cir[++size]=circ;
sp[size]=new circle;
sp[size]=&cir[size];
}
void top()
{
if (empty()) cout<<"栈为空"<else {
cout<<"栈顶元素为:"<sp[size]->ShowMe();
}

}

void pop()
{
if (empty()) cout<<"栈为空"<else {
cout<<"出栈元素为:"<sp[size--]->ShowMe();
}
}
};

void main()
{
stack Stack;
rectangle rec;
circle cir;
int s=1;
while (s)
{
cout<cout<<"请选择1-5号键*作"<cout<<" 1: 矩形进栈;"<cout<<" 2: 圆进栈;"<cout<<" 3: 显示栈顶元素;"<cout<<" 4: 出栈;"<cout<<" 5: 退出程序;"<cin>>s;
switch(s)
{
case 1: cin>>rec; Stack.push(rec); break;
case 2: cin>>cir; Stack.push(cir); break;
case 3: Stack.top(); break;
case 4: Stack.pop(); break;
case 5: s=0; break;
//default: cout<<"请重新输入"<}
}
}

下一篇:面向对象上机考试题(4)—关于队列

请实现一个队列,既可以存放整数,又可以存放字符串。简单的说,队列是一种数据结构,按照先进先出的顺序管理进、出队列的元素。本题要求完成:
(1) 实现描述队列的类Queue,其中定义了队列的大小Size(即队列中可以存放的元素个数)
,并包括进队列函数Add,出队列函数Delete、显示队列头部元素的函数Head和显示队列尾部元素的函数Tail。
(2) 定义基类Element,至少包含纯虚函数ShowMe。
(3) 从基类Element中派生整数类MyInteger和字符串类MyString, 具体实现上述...[查看详情]

  影视动画培训   北大BEC培训官方报名网站   2008美国夏令营启航官方指定报名网站   2008留学第一站!  
  北师大 火星时代
共举影视动画培训之鼎
  北大BEC培训官方报名网站
现在报名独享95折!
  2008年国家职业资格考试
一次过关完全备考手册
  2008留学第一站
留学资讯尽在精英留学站!
 
上一篇:北大面向对象程序设计上机考试题(9月19-20日)
下一篇:面向对象上机考试题(4)—关于队列
 相关新闻
·软件水平考试网络工程师英语复习练习题9套·网络工程师训练资料——60道典型选择题及答案
·网络工程师经典模拟试卷·网络工程师-填空练习题
·计算机软件水平考试网络程序员考试练习题·计算机软件水平考试网络设计师模拟试题
·网络工程师试题及详细解析——局域网篇·网络工程师基础训练题
·网络工程师综合练习一·助理电子商务师考试试题(理论)
·C语言上机考试试题(2002年5月11日)·全国软件水平程序员考试部分例题
·北大“高级语言程序设计”上机考试题(9月11日)·面向对象上机考试题(1)——关于宠物进笼
·面向对象上机考试题(2)——关于堆栈·面向对象上机考试题(4)—关于队列
 
◇ 重点栏目导航
◇ 精英服务承诺
教育顾问:010-51660910
QQ交流:138660910
相关资料
·软件测试新手的修炼之路
·Smarty简体中文参考手册
·Struts中文手册
·Struts快速学习指南
·ultradev动态网页制作教程
·UML工具箱
·《设计模式》中文版
·学友Flash伴侣 1.11
·阿须图像水印(AssureMark)V2.0
·超级语霸
相关试题
·2007年全国CPA考试试卷及答案解析之《会
·2007年CPA试卷及答案解析之《财务成本管
·2008年注会考前模拟试题之《财务成本管理
·2007年全国CPA《税法》考试试卷及答案解
·2008年中级会计职称《经济法》试题及答案
·2008年注册会计师考前模拟试题参考答案之
·2008年注册会计师考前模拟试题之《会计》
·2008年注册会计师考前模拟试题之《税法》
·2008年高校招生全国统考理数试题(四川延
·2008年全国高考物理科试题参考答案(上海
相关热贴
·如何改QQ IP地址!
·恰当选择软件测试自动化方案
·ADO.NET学习总结
·.net操纵xml文件类(c#)
·Log4net教程
·VPN技术详解
·高手必读 网络端口安全防护技巧放送
·访问XP共享出现的问题解决办法
·Web2.0时代,RSS你会用了吗?(技术实现总
·.NET下正则表达式应用的四个示例