版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上 综合编程题及解答1设计一个类Rect,要求如下:(1)该类中的私有数据成员length,width存放它的长和宽,并且设置它们的默认值是0。(2)通过成员函数设置其长和宽,并确保长和宽都在(0,50)范围之内。 (3)实现求周长函数GetPerimeter()。解:编程如下: #include<iostream>using namespace std;class Rectprivate:float length,width;public:Rect(float l=0,float w=0):length(l),width(w) Rect(Rect&
2、R):length(R.length),width(R.width)Rect()Rect input();float GetPerimeter();void show();Rect Rect:input()float L,W;cout<<"输入该长方形的长(Length)和宽(Width):"<<endl;docout<<"Length="cin>>L;if(L<=0|L>=50)cout<<"输入的数据不在区间(0,50)内,请重新输入!"<<end
3、l;while(L<=0|L>=50);docout<<"Width="cin>>W;if(W<=0|W>=50) cout<<"输入的数据不在区间(0,50)内,请重新输入!"<<endl;while(W<=0|W>=50);return Rect(L,W);void Rect:show()cout<<"Length"<<length<<","<<"Width="
4、<<width<<endl;cout<<"Perimeter="<<GetPerimeter()<<endl;float Rect:GetPerimeter()return 2*(length+width);int main()Rect R;R=R.input();R.show();return 0;2定义一个二维座标类Vector2d, 二个数据成员为double型x, y 为private属性。定义代二个参数的构造函数和一个Show( ) 函数用以输出x, y的值, 另外作为成员函数重载的运算苻”+”的功能是将
5、此类二个对象的数据成员x和y对应相加。这些成员函数的属性均为public. 请用C+编写此程序, 并编写测试程序进行测试 解:程序如下: #include<iostream>using namespace std;class Vector2dprivate:double x;double y;public:Vector2d(double x=0,double y=0):x(x),y(y)Vector2d(Vector2d&v):x(v.x),y(v.y)void show();Vector2d operator+(Vector2d v);Vector2d();void Ve
6、ctor2d:show()cout<<"X="<<x<<","<<"Y="<<y<<endl;Vector2d Vector2d:operator+(Vector2d v)return Vector2d(x+v.x,y+v.y);int main()Vector2d v1(1,3);Vector2d v2(2,5);(v1+v2).show();return 0;3. 编程实现抽象类Employee,派生类Manger和HourlyWorker,Employee有
7、数据成员姓名name和工号ID,Manger有数据成员sal,代表经理的月工资,HourlyWorker有wage和hours,分别代表钟点工的每小时的工资数和月工作时数,定义的所有类中必须包含构造函数、析构函数、修改和获取所有数据成员的成员函数,以及虚函数来计算职员的工资、输出职员的姓名name和工号ID。 解:编程如下: #include<iostream>#include<string>using namespace std;class Employeeprivate:string name;string ID;public:Employee(string n,s
8、tring id):name(n),ID(id)Employee()Employee()virtual float CountPays()return 0;virtual void show()string GetName()return name;string GetID()return ID;void changen(string n)name=n;void changei(string id)ID=id;Employee input();Employee set();Employee Employee:input()string n,id;cout<<"输入员工的姓
9、名与工号:"<<endl;cin>>n>>id;return Employee(n,id);Employee Employee:set()string n,id;cout<<"输入要修改后的信息:"<<endl;cin>>n>>id;return Employee(n,id);class Manger:public Employeeprivate:float sal;public:Manger(string name,string id, float s):Employee(nam
10、e,id),sal(s)Manger():Employee()Manger()float CountPays();void show();Manger input();Manger set();float Manger:CountPays() return sal; void Manger:show()cout<<"姓名:"<<GetName()<<endl;cout<<"工号:"<<GetID()<<endl;cout<<"工资:"<<s
11、al<<endl;Manger Manger:input()string n,id;float s;cout<<"输入员工的姓名与工号,工资:"<<endl;cin>>n>>id>>s;return Manger(n,id,s);Manger Manger:set()cout<<"输入要修改后的信息:姓名,工号,工资:"<<endl;string n,id;float w;cin>>n>>id>>w;return Mange
12、r(n,id,w);class HourlyWorker:public Employeeprivate:float wages,hours;public:HourlyWorker(string name,string id ,float w,float h):Employee(name,id),wages(w),hours(h)HourlyWorker():Employee()HourlyWorker()float CountPays();void show();HourlyWorker input();HourlyWorker set();float HourlyWorker:CountPa
13、ys()return wages*hours;void HourlyWorker:show()cout<<"姓名:"<<GetName()<<endl;cout<<"工号:"<<GetID()<<endl;cout<<"工资:"<<CountPays()<<endl;HourlyWorker HourlyWorker:input()string n,id;float w,h;cout<<"输入员工的姓名与工
14、号,单位时间工资,工作时间:"<<endl;cin>>n>>id>>w>>h;return HourlyWorker(n,id,w,h);HourlyWorker HourlyWorker:set()cout<<"输入要修改后的信息:姓名,工号,单位时间工资,工作时间:"<<endl;string n,id;float s,h;return HourlyWorker(n,id,s,h);int main() Manger m; m=m.input(); m=m.set(); m.s
15、how(); HourlyWorker h; h=h.input(); h.show(); return 0;4. 编写一个函数模板,用于求参数的绝对值,并编写测试程序进行测试。解:编程如下: #include<iostream>using namespace std;template<class T>T abs(T x)return x<0?-x:x;int main()int n=-3;float m=4.5;double j=-34;cout<<abs(n)<<endl;cout<<abs(m)<<endl;c
16、out<<abs(j)<<endl;5. 设计一个类DateInfo,要求其满足下述要求: (1)要求有一个无参的构造函数,其初始的年、月、日分别为:2010,8,8。 (2)要求有一个带参数的构造函数,其参数分别对应年、月、日。 (3)要求用一个成员函数实现日期的设置。 (4)要求用一个成员函数实现输出日期。 请用C+编写此程序, 并编写测试程序进行测试。 解:编程如下: #include<iostream>#include<iomanip>using namespace std;class DateInfoprivate:int year;i
17、nt month;int day;public:DateInfo():year(2008),month(8),day(8)DateInfo(int y,int m,int d):year(y),month(m),day(d)DateInfo(DateInfo&D):year(D.year),month(D.month),day(D.day)DateInfo()DateInfo set();void show();DateInfo DateInfo:set()int y,m,d;cout<<"输入要设定的日期:"<<endl; cout<<"年份:"cin>>y;cout<<"月份:"cin>>m;cout<<"日期:"cin>>d;return DateInfo(y,m,d);void DateInfo:show()cout<<"显示的日期如下:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东佛山市人民政府办公室选调公务员2人笔试参考题库及答案解析
- 2026年度新疆兵团草湖项目区公安局招聘警务辅助人员工作(100人)笔试模拟试题及答案解析
- 中国汽研2026届春招笔试备考试题及答案解析
- 2026河南南阳理工学院人才招聘30人笔试参考题库及答案解析
- 2026广东中山市黄圃镇新地村民委员会公益性岗位招聘3人笔试备考题库及答案解析
- 2026四川雅安市汉源县审计局招聘编外专业技术人员2人笔试备考题库及答案解析
- 2026国家统计局兴仁调查队招聘城镇公益性岗位3人笔试备考题库及答案解析
- 江投国华信丰发电有限责任公司公开招聘劳务派遣制工作人员笔试备考题库及答案解析
- 2026云南玉溪市红塔区教体系统招聘毕业生30人笔试参考题库及答案解析
- 2026重庆市涪陵区青羊镇人民政府选聘本土人才4人笔试备考题库及答案解析
- 中医临床路径18脾胃科
- 2024年版烟雾病和烟雾综合征诊断与治疗专家共识(完整版)
- 零星维修合同模板
- 九三学社申请入社人员简历表
- 聚氨酯门窗研究汇报
- 医院电子病历四级建设需求
- 上海2023届高三二模数学卷汇总(全)
- 《锐角三角函数》复习(公开课)课件
- 计算机视觉PPT完整全套教学课件
- YC/T 564-2018基于消费体验的中式卷烟感官评价方法
- FZ/T 73009-2021山羊绒针织品
评论
0/150
提交评论