欢迎来到天天文库
浏览记录
ID:35246886
大小:99.66 KB
页数:8页
时间:2019-03-22
《面向对象程序设计c实验报告书3》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、面向对象程序设计C++实验报告书班级:姓名:学号:课程名称面向对象程序设计C++实验项目重载运算符C++的I/O操作实验项目类型验证演示综合设计指导教师成绩√一、实验目的1.理解重载运算符的意义,掌握用成员函数、友元函数重载运算符的特点及重载运算符函数的调运方法;2.理解多态的意义,掌握虚函数对对多态性的支持及调用方法,掌握抽象类的含义及其实现方式;3.学会将文件作为流来处理的方式,掌握在C++环境下建立磁盘文件和读写磁盘文件的基本方法,掌握cin和cout标准输入输出流的作用,掌握文件流的定义格式,学习标准输入输出及格式控制,熟悉流类库中常用的类及其成员函
2、数的用法二、实验步骤1.设计一个点类Point,实现点对象之间的各种运算,如两点是否相同,两点的位置加减等运算等,可以重载定义如下的一些操作符,其原型分别如下:voidoffset(int,int);//提供对点的偏移voidoffset(Point&);//重载,偏移量用Point类对象表示booloperator==(Point&);//运算符重载,判断两个对象是否相同booloperator!=(Point&);//运算符重载,判断两个运算符是否不相同voidoperator+=(Point&);//运算符重载将两个对象相加voidoperator-=
3、(Point&);//运算符重载,将两个对象相减Pointoperator+(Point&);//运算符重载,相加并将结果放在左操作数中Pointoperator-(Point&);//运算符重载,相减并将结果放在左操作数中2.现有一个容器类,其中定义了表示半径(radius)的成员,并定义了两个纯虚函数surface_area()和volume(),分别求出其表面积和体积;以此为基类,分别定义出正方体、球体和圆柱体,并在各自的派生类中分别完成其表面积和体积的计算,编写程序并验证之。其中基类的原型如下:classcontainer{8protected:do
4、ubleradius;public:container(doubleradius){container::radius=radius;}virtualdoublesurface_area()=0;virtualdoublevolume()=0;};voidmain(){container*p;cubeobj1(10);sphereobj2(6);cylinderobj3(4,5);p=&obj1;cout<<”输出结果:”<surface_area()<vo
5、lume()<surface_area()<volume()<surface_area()<volume()<6、x=i;y=j;}Point(Point&);~Point(){}voidoffset(int,int);//提供对点的偏移voidoffset(Point&);//重载,偏移量用Point类对象表示booloperator==(Point&);//运算符重载,判断两个对象是否相同booloperator!=(Point&);//运算符重载,判断两个运算符是否不相同voidoperator+=(Point&);//运算符重载将两个对象相加voidoperator-=(Point&);//运算符重载,将两个对象相减Pointoperator+(Point&);7、//运算符重载,相加并将结果放在左操作数中Pointoperator-(Point&);//运算符重载,相减并将结果放在左操作数中intgetx(){returnx;}intgety(){returny;}voiddisp(){cout<<"("<8、int::operator==(Point&p){i
6、x=i;y=j;}Point(Point&);~Point(){}voidoffset(int,int);//提供对点的偏移voidoffset(Point&);//重载,偏移量用Point类对象表示booloperator==(Point&);//运算符重载,判断两个对象是否相同booloperator!=(Point&);//运算符重载,判断两个运算符是否不相同voidoperator+=(Point&);//运算符重载将两个对象相加voidoperator-=(Point&);//运算符重载,将两个对象相减Pointoperator+(Point&);
7、//运算符重载,相加并将结果放在左操作数中Pointoperator-(Point&);//运算符重载,相减并将结果放在左操作数中intgetx(){returnx;}intgety(){returny;}voiddisp(){cout<<"("<8、int::operator==(Point&p){i
8、int::operator==(Point&p){i
此文档下载收益归作者所有