- 20
- 0
- 约4.92千字
- 约 10页
- 2017-05-16 发布于河南
- 举报
第十五次实验-多态与运算符重载2
实验1 运算符重载,异常处理和文件操作
【实验目的】
(1)。
(2)。
(3)。
【实验内容】
1、
1.输入N本图书的信息:书号(6个字符)、书名(12个字符)、作者(8个字符)、单价(2位小数);将所有数据写入文件ST1.DAT中;
2.从ST1.DAT文件中读取图书数据,将价钱高于30元的图书信息输出;
3.输入书号,在ST1.DAT文件中查找该图书,找到以后输出该图书的所有数据,如果文件中没有输入的书号,给相应的提示信息。
===================源程序=======================
?
#includeiostream.h
#includeiomanip.h
#includefstream.h
class book
{
public:
int id;
char name[10];
char author[10];
int price;
public:
void getdata()
{
cout请分别输入书号,书名,作者,价格:;
cinidnameauthorprice;
}
void dispdata()
{
coutsetw(10)id;
coutsetw(10)name;
coutsetw(10)author;
coutsetw(10)price;
coutendl;
}
};
void inputdata()
{
ofstream outfile(ST1.DAT);
book book1;
int num;
coutendl请输入书的数目:;
cinnum;
for(int i=0;inum;i++)
{
cout输入第i+1本书的数据:;
book1.getdata();
outfile.write((char*)book1,sizeof(book1));
}
outfile.close();
}
void display()
{
ifstream infile(ST1.DAT);
book book1;
coutsetw(10)书号;
coutsetw(10)书名;
coutsetw(10)作者;
coutsetw(10)价格endl;
infile.read((char*)book1,sizeof(book1));
while(infile)
{
if(book1.price30)
book1.dispdata();
infile.read((char*)book1,sizeof(book1));
}
infile.close();
}
void main()
{
???int a;
do
{
cout1输入数据……2输入数据……others退出endl;
cina;
switch(a)
{
case 1:
inputdata();
break;
case 2:
display();
break;
}
}while(a==1||a==2);
}
第二部分:自测题
多态练习:
设计一个立体图形类(CStereoShape类),并满足如下要求:?CStereoShape类有一个纯虚函数GetArea,能够获取立方体的表面积;?CStereoShape类有一个纯虚函数GetVolume,能够获取立方体的体积设计一个立方体类(CCube类),该类继承于CStereoShape类,并满足如下要求:?CCube类有一个带参数的构造函数,其参数分别对应于立方体的长、宽、高。?用一个成员函数来实现对立方体长、宽、高的设置。?重载CStereoShape类的GetArea和GetVolume,分别完成立方体的表面积和体积的计算。设计一个球体类 (CSphere),该类继承于CStereoShape类,并满足如下要求:?CSphere类有一个带参数的构造函数,其参数对应于球体的半径。?用一个成员函数来实现对球体半径的设置。?重载CStereoShape类的GetArea和GetVolume,分别完成球体的表面积和体积的计算。实现一个main函数,在main函数中至少完成如下工作:?实例化一个CCube类的对象a_cube和CSphere类的对象c_sphere;?定义一个CStereoShape类的指针p;?将a_cube的长、 宽和高分别设置为4、 5和6; 将p指向a_cube, 通过p将a_cube的表面积和体积打印到屏幕上;?将c_sphere的半径设置为7;将p指向c_sphere,通过p将c_sphere的表面积和体积打印到屏幕上。
[实验提示]
1、= = 、 、 属于双目运算符,在重载双目运算符时,函数中应该有两个参数。
2、String类成员变量应为字符型指针;
3、多个构造函数的定义;
#includeiostream
您可能关注的文档
- 武汉大学EDP中心.pptx
- 第16章习题 集成运放.doc
- 教案2有理数加法运算律.doc
- 两票补充规定实施细则.doc
- QCC活动推行培训教材(PPT 68).ppt
- 集成运放中的加法和减法运算电路教案.doc
- 检验员管理细则.doc
- 大学生职业生涯规划(导论).ppt
- 检验员考核表.doc
- 检验员行为规范.doc
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- 《全球粮食安全挑战》课件.ppt VIP
- 医院感染管理办法课件PPT.pptx VIP
- 新公共法语中级教程(吴贤良)习题答案及参考译文.pdf
- 人工智能在司法领域的应用路径与前景分析.docx VIP
- 江西电力职业技术学院单招职业倾向性考试题库及答案详解(真题汇编).docx VIP
- 消化不良ppt课件.pptx VIP
- 2025年广东省外语艺术职业学院单招笔试英语试题库含答案解析.docx VIP
- 2026年忻州职业技术学院单招职业适应性测试题库附答案解析.docx VIP
- 控制计划CP中英文完整范本.xls VIP
- 江西电力职业技术学院单招职业适应性考试题库及答案详解(历年真题).docx VIP
原创力文档

文档评论(0)