- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西华大学实验报告(计算机类)
开课学院及实验室:机械工程与自动化 实验时间: 年 月 日
学生姓名
学号
成 绩
学生所在学院
机械工程与自动化
年级传业/班
2011级机电班
课程名称
高级语言在测控中的应用
课程代码
6003559
实验项目名称
多态和虚函数、运算符重载
项目代码
指导教师
项目学分
一、实验目的
理解虚函数的特性;
理解纯虚函数和抽象类的特性;
掌握用虚函数实现运行时的多态性和编写通用程序的方法;
掌握用成员函数和友元函数重修运算符的方法。
二、 内容与设计思想
上机实践内容:
定义一个抽象类CShape,包含纯虚函数Area ()(原来计算面积)和SetData ()(原 来重设形状大小)。然后派生出三角形CTriangle类、矩形CRect类、圆CCircle类,分 别求其面积。最后定义一个CArea类,计算这儿个形状的面积之和,个形状的数据通过 CArea类构造函数或成员函数来设置。编程一个完整的程序。
定义一个复数类CComplex,通过重载运算符和,直接实现两个复数之间的 乘除运算。编写一个完整的程序(包括测试运算符的程序部分)。运算符用成员 函数实现重载,而运算符用友元函数实现重载。
提示:两复数相乘的计算公式为:(a+bi) *(c+di)=(ac-bd) +ad+bc)i;
两复数相除的计算公式为:(a+bi)/(c+di)=(ac+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d)i
三、 使用环境
操作系统:Windowns XP
C ++环境:Visual C++ 6.0
四、核心代码及调试过程
#includeiostTcam
using namespace std;
class CShape
{
public:
virtual float AreaO =0;
virtual void SctData(float fl,float f2)=0; };
class CTriangleipublic CShape
{
public:
CTriangle (float h=0,float w=0)
{
H=h; W=w;}
float Area ()
{
return (float) (H*W*0. 5);
}
void SctData(float fl,float f2)
{
H=fl; W=f2;
}
privatc:
float H, W;
};
class CRcct:public CShape
{
public:
CRect (float h=0,float w=0)
{
II=h; W=w;
float AreaO
return(float)(H*W);
void SetData(float fl, float f2)
H=fl; W=f2;}private:float H, W;};
H=fl; W=f2;
}
private:
float H, W;
};
class CCircle:public CShape {
public:
CCirclc(float r=0)
{
R=r;
}
float Area ()
CN?
C:\Windows\system32\cmd.exe
为:??为????为:??为::续 需为需为需为需为继 面囂??面囂??面囂??面囂??键 的面面面面面面面面为意 番的积番的积番的积番的餐 角形形面角形形面角形形面角形形黑 三矩圆忌三矩圆忌三矩圆忌三矩圆忌请
::L8??5
42
95?0332
324?533 :187?5
42
95?0332
324?533 :187?5
42
452.389
:187?5
12
452.389
651.889
r)
r)
return (float) (3R*R);
}
void SetData(float r,float)
{
R=r;
}
private:
float R;
};
class CArea
{
public:
CArea(float triWidth, float trilleight, float reWidth, float rcllcight, floeit ppShape=ncw CShape *[3];
ppShapc[O]=ncw CTrianglc(triWidth, trillcight); ppShape[l]=ncw CRect(reWidth,reHeight);
ppShape[2]=ncw CCirclc(r);
}
^CArea ()
{
for(int i二0;i〈3;i++)
deletc ppShape[i];
delete []ppShape;
}
void SetShapcData(int n,float fl,f
您可能关注的文档
最近下载
- NBT 11223-2023_硅基薄膜异质结光伏组件技术要求.pdf VIP
- 公司运营管理体系建设方案.ppt VIP
- NBT11222-2023光伏组串I-V检测及诊断技术规范.docx VIP
- 中职英语(Book2 苏教版)教案:Unit7 Nice Weather,Nice Mood.doc VIP
- NB-T11221-2023光伏电站频率监测与控制装置技术规范.pdf VIP
- 2023光储系统直流电弧检测及关断评价技术规范.docx VIP
- NBT 11201-2023_彩色镀膜光伏组件技术要求.pdf VIP
- 光伏组件红外热成像(TIS)检测技术规范.doc VIP
- NB_T 11080-2023 光伏组件电致发光(EL)检测技术规范.pdf VIP
- 《2016中文核心期刊一览表》.doc VIP
文档评论(0)