2014太原理工大学C++实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告
课程名称:C++面向对象程序设计
实验项目:C++语言编程
实验地点:明向校区
专业班级:软件1431 学号:******XXXX 学生姓名:***
指导教师:***
2015年5月10 日
2.编写重载函数max1可分别求取2个整数,3个整数,3个双精度数,3个双精度数的最大值#include
using namespace std;
int max(int x,int y);
double max(double x,double y);
int max(int x,int y,int z);
double max(double x,double y,double z);
int main()
{
int a,b,c;
cout<<"请输入3个整数"< return x>y?x:y; } int max(int x,int y,int z) { return (max(x,y)>z)?max(x,y):z; } double max(double x,double y,double z) { return (max(x,y)>z)?max(x,y):z; }运行结果: 3.用new操作为一个包含10个整数的数组分配内存,输入若干个值到数组中,分别统计其中正数和负数的个数后再用delete操作释放内存。 #include cin>>p[i]; if(p[i]>0) plus++; else if(p[i]!=0) minus++; } cout<<"正数的个数:"< cout<<"负数的个数:"< delete []p; return 0; }运行结果: cin>>x; } } return 0; }运行结果: 2.定义一个复数类Complex,复数的实部Real与虚部Image定义为私有数据成员。用复数类定义复数对象c1、c2、c3,用默认构造函数将c1初始化为c1=20+40i ,将c2初始化为c2=0+0i,用拷贝构造函数将c3初始化为c3=20+40i。用公有成员函数Dispaly()显示复数c1、c2与c3 的内容。 程序: #include using namespace std; class Complex { private: double real,image; public: cout< } int main() { Complex c1(20,40),c2(0,0),c3(c1); cout<<"c1="; c1.Display(); cout<<"c2="; c2.Display(); cout<<"c3="; c3.Display(); return 0; }运行结果: 3.定义一个学生成绩类Score,描述学生成绩的私有数据成员为学号(No)、姓名(Name[8])、数学(Math)、物理(Phi)、数据结构(Data)、平均分(ave)。定义能输入学生成绩的公有成员函数Write(),能计算学生平均分的公有成员函数Average(),能显示学生成绩的公有成员函数Display()。在主函数中用Score类定义学生成绩对象数组s[3]。用Write()输入学生成绩,用Average()计算每个学生的平均分,最后用Display()显示每个学生的成绩。 s[i].Display(); return 0; }运行结果: 4.定义一个矩形类Rectangle,矩形的左上角(Left,Top)与右下角坐标(Right,Bottom)定义为保护数据成员。用公有成员函数Diagonal()计算出矩形对角线的长度,公有成员函数Show()显示矩形左上角与右下角坐标及对角线长度。在主函数中用new运算符动态建立矩形对象r1,初值为(10,10,20,20)。然后调用Show()显示矩形左上角与右下角坐标及对角线长度。最后用delete运算符回收为矩形动态分配的存储空间。 程序: #include #include using namespace std; class Rectangle cout<<"c1 has been constructed"< cout<<"圆的周长:"< cin>>x>>y>>len; Point p3(x,y); Square s1(p3,len); cout<<"s1 has been constructed"< cout<<"正方形的周长:"< return 0; }运行结果:(坐标似乎没有用处) 2.程序: 3.定义描述职工档案的类Archives,私有数据成员为职工号No,姓名Name[8],性别Sex,年龄Age。成员函数有:构造函数,显示职工信息的函数Show()。再由职工档案类派生出职工工资类Laborage,在职工工资类Laborage中新增加数据成员:应发工资(SSalary),社保金(Security),实发工资(Fsalary),其成员函数有:构造函数,计算实发工资的函数Count ()计算公式为:实发工资=应发工资-社保金。显示职工档案以及工资的函数。在主函数中用Laborage类定义职工对象lab,并赋初始值(1001,””cheng,’M’,21,2000,100),然后显示职工档案与工资。 #include #include using namespace std; class Archives { private: int No; char Name[8],Sex;