第十五次实验-多态与运算符重载2.docVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档