- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 PAGE 1 页
大学电子版实验报告
姓名
学号
实验日期
成绩
学院
计算机科学
与技术学院
班级
计算机科学与技术
实验场地
实验课程名称
面向对象程序设计
实验项目名称
实验4、多态性实验
对于每一个实验项目,实验报告(含预习)一般应包含以下内容:
第一部分——预习后的书面汇报。其主要内容应包含:*1、实验目的;*2、实验内容。*3、实验源代码;
注:本部分必须实验前完成,不得实验时临时编写。
第二部分——实验结果的书面汇报。其主要内容应包含:*3、实验源代码(修正部分错误的源代码);*4、实验结果及分析(含实验测试输入数据,试验运行结果截图,用简洁的语言总结实验,汇报是否达到实验目的);*5、实验体会、问题讨论(谈体会或感想、提出建议或意见、讨论与实验有关的且自己感兴趣的问题、回答课后思考题)。
要求:实验报告完成后将文件名命名为:学号-姓名-实验X报告.doc,如:20201209099-张三丰-实验1报告.doc,然后统一上缴或上传至实验报告系统。
特别提示:不得随意改变本文档的格式。
实验目的
(1)掌握运算符重载的基本方法;
(2)掌握虚函数的定义和使用方法;
(3)掌握纯虚函数和抽象类的概念和用法。
二、实验内容
(1)声明Point类,有坐标x、y两个成员变量;对类重载++和--运算符,实现坐标值的改变。
(2)声明一个People(人员)类,具有属性如下:number(编号)、name(姓名)、sex(性别)、birthday(出生日期)、id(身份证号)。其中“出生日期”是一个子对象(请自行设计日期类)。用成员函数实现对人员信息的录入和显示。在测试程序中声明People类的对象数组,录入数据并显示。同时为People重载运算符“==”,运算符“==”为判断两个People对应的id属性是否相同。
(3)声明一个车Vehicle基类,有run、stop等成员函数,由此派生出自行车Bicycle类、汽车Motorcar类,从Bicycle、Motorcar类派生出摩托车Motorcycle类,它们都有run、stop等成员函数,观察虚函数的作用。
三、实验源程序(或实验步骤)
1:#includeiostream
#includestring
using namespace std;
class Point
{
public:
Point(int x1=0,int y1=0)
{
x=x1;y=y1;
}
friend Point operator++(Point op);
friend Point operator++(Point op,int );
Point operator--();
Point operator--(int);
void print(string str);
private:
int x,y;
};
Point Point::operator--()
{
--x;--y;
return *this;
}
Point Point::operator--(int)
{
Point temp(*this);
x--;y--;
return temp;
}
void Point::print(string str)
{
coutstr x:x,y:yendl;
}
Point operator++(Point op)
{
++op.x;
++op.y;
return op;
}
Point operator++(Point op,int )
{
Point temp=op;
op.x++;
op.y++;
return temp;
}
int main()
{
Point obj1(3,4),obj2,obj3;
obj1.print(原始obj1的值);
obj2=++obj1;
obj2.print(执行obj2=++obj1后,obj2的值);
obj3=obj1++;
obj3.print(执行obj3=obj1++后,obj3的值);
obj1.print(现在obj1的值);
obj2=--obj1;
obj2.print(执行obj2=--obj1后,obj2的值);
obj3=obj1--;
obj3.print(执行obj3=obj1--后,obj3的值);
system(pause);
return 0;
}
2:#includeiostream
using namespace std;
#includestring
class Birth
{
public:
Birth() { year=0;month=0;day=0;}
void
您可能关注的文档
最近下载
- 论文、工程建模、有限元仿真、实验检测 + 关注
-
实名认证服务提供商
高校课程论文、函授、自考本、大专、本科论文,指导。 CAD、SOLIIWORKS工程建模。 ABAQUS、ROMAX有限元仿真模拟。(可进行工作站仿真模型跑数据)金相显微镜观测、红外显微镜观测、残余应力检测、轴承疲劳寿命实验、MTM摩擦磨损实验等检测和试验。 本人发表多篇SCI、EI、中文核心论文,授权多项专利。
原创力文档


文档评论(0)