版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验5 类和对象程序填空1. 题目描述:仔细阅读下列求两个点之间距离的程序,程序的输出结果是50,根据程序的输出结果在划线处填入正确语句。代码:#include<iostream>#include<cmath>using namespace std;class pointpublic: point(float a,float b) x=a; y=b; float Distance(point &p) float dx=p.x-x; float dy=p.y-y; return (float)sqrt(dx*dx+dy*dy);private: float x,y
2、;int main() point p1(2,3),p2(32,43); cout<<p1.Distance(p2)<<endl; return 0;2. 题目描述:设计一个矩阵类CRectangle,该类中的私有成员变量存放Rectangle的长和宽,并设置它们的默认值为1,通过成员函数set()来设定长和宽的值,并确保长宽都在(0,50)范围之内,求其周长Perimeter并显示输出。以下是完成此项工作的程序,请将未完成的部分填入,使之完整。代码:#include<iostream>using namespace std;class CRectangle
3、public: void Set(float a,float b) if(a>0)&&(a<50) length=a; else length=1; if(b>0)&&(b<50) width=b; else width=1; float perimeter() return 2*(length+width); private: float length; float width;int main() CRectangle R; float l,w;/定义矩形的长和宽做为输入变量; / cout<<"请输入矩形的长和
4、宽:"<<endl; cin>>l>>w; R.Set(1,w);/设置矩形的长和宽 cout<<"矩形的周长为:"<<R.perimeter()<<endl; return 0;3. 题目描述:设计一个类CRectangle,要求如下所述。(1)定义两个点坐标x1,y1,x2,y2,两点所确定的一条直线构成了矩形的对角线。(2)初始化矩形的两个点时,判断给定的两个点是否能够构成一个矩形,如果不能构成矩形,则矩形对角线的两点初始化为(0,0)和(1,1)。如果可以构成,则用形参初始化对象的数据
5、成员。根据以上描述完成下列程序。代码:#include<iostream>#include<cmath>using namespace std;class CRectanglepublic: CRectangle(float Rx1=0,float Ry1=0, float Rx2=1,float Ry2=1); bool IsSquare( ); void PrintRectangle( );private: /确定直线的两点的坐标 float x1,y1,x2,y2;CRectangle:CRectangle(float Rx1 ,float Ry1, float
6、Rx2,float Ry2) if (Rx1=Rx2|Ry1=Ry2) /两点的横坐标或纵坐标的值相等,则不能构成矩形 x1=y1=0; x2=y2=1; cout<<"不能构成矩形! "<<endl; else x1=Rx1,x2=Rx2,y1=Ry1,y2=Ry2/初始化数据成员x1,y1,x2,y2 cout<<"可以构成矩形! "<<endl; int main() CRectangle R1(1,3,5,6); CRectangle R2(1,3,1,6); return 0;4. 题目描述:下列
7、程序中声明了类girl,其中函数“display”是类girl的友元函数,请在(1)、(2)和(3)处各填入正确的内容,使程序能正常运行。代码:#include<iostream>using namespace std;class girlprivate: char name; int age;public: girl(char n, int d) /构造函数 name= n; age=d;Friend void display(girl &x); /声明友元函数;void display(girl &x) /类外定义 友元函数 cout<<"
8、Girl's name is :"<<x. name<<", age is :"<<x.age<<endl; /girl类的友元函数能访问girl类对象的私有成员int main( ) girl e('z',18); display(e); /调用友元函数 return 0;5. 题目描述:,请完善下面程序,使程序的运行结果如下:This is a constructor ! This is a constructor ! The value of ch is a The value of c
9、h is b This is a destructor of b This is a destructor of a 代码:#include<iostream>using namespace std;class MyClass char ch;public: MyClass( ) cout<<"This is a constructor! "<<endl; ch='a' MyClass(char character ) cout<<"This is a constructor! "<&
10、lt;endl; ch=character; void Print( ) cout<<"The value of ch is "<<ch<<endl; MyClass( ) cout<<"This is a destructor of"<<ch<<endl; ;int main( ) MyClass first, second(b); first.Print( ); second.Print( ); return 0;程序设计6.题目标题:计算两点间的距离 题目描述:仿照本次实验预习
11、的程序填空题1,将以上Distance函数定义为类piont的友元函数,实现程序的功能。并在主函数中增加输入两点作为友元函数的实参。其主函数如下:输入描述:输入四个数,用空格隔开。输出描述:两个点的距离。样例输入:1 3 5 6样例输出:5#include<iostream>#include<cmath>using namespace std;class pointpublic: point(float a,float b) x=a; y=b; friend float Distance( point &p1, point &p2);private: f
12、loat x,y;float Distance( point &p1, point &p2) float dx=p1.x-p2.x; float dy=p1.y-p2.y; return (float)sqrt(dx*dx+dy*dy);int main() float p1_x,p1_y,p2_x,p2_y; /输入四个点 cin>>p1_x>>p1_y>>p2_x>>p2_y; point p1(p1_x,p1_y),p2(p2_x,p2_y); cout<<Distance(p1,p2)<<endl;
13、 return 0;7.题目标题:日期类CDateInfo的设计。题目描述:根据以下主函数的功能来设计日期类CDateInfo,使其能正确运行。类CDateInfo中应该具有描述年、月、日的三个数据成员和相应的成员函数。#include<iostream>using namespace std;class CDateibfoint day,month,year;public:CDateibfo();CDateibfo(int yy,int mm,int dd);void setdate(int yy,int mm,int dd);void getdate();CDateibfo:C
14、Dateibfo()day=10;month=10;year=2011;CDateibfo:CDateibfo(int yy,int mm,int dd)year=yy;month=mm;day=dd;void CDateibfo:setdate(int yy,int mm,int dd)year=yy;month=mm;day=dd;void CDateibfo:getdate()cout<<year<<"-"<<month<<"-"<<day<<endl;int main() C
15、Dateibfo date1,date2(2011,10,10);int y,m,d;cin>>y>>m>>d;date1.setdate(y,m,d);date1.getdate();date2.getdate();return 0;输入描述: 三个整数,分别用来设置对象data1的年、月、日输出描述:两行:第1行为对象data1的年月日;第2行为data2的年月日。样例输入:2011 12 5样例输出:2012-12-52011-10-108.题目标题:学生类Student的设计题目描述:根据以下主函数的功能来设计日期类Student,使其能正确运行。类
16、Student中应该具有描述学生姓名、性别、年龄的三个数据成员和相应的成员函数。输入描述:3行,第一行为一个长度不超过10的字符串表示姓名;第二行为0和1中的一个整数;第三行为一个整数,表示年龄。输出描述: 按主函数要求输出。#include<iostream>#include<cstring>using namespace std;class Studentprivate:char name20;int sex;unsigned old;public:void SetName(char *chOne);void SetGender(int isex);void Set
17、Age(unsigned iold);void GetName();void GetGender();void GetAge();void Student:SetName(char *chOne)strcpy(name,chOne);void Student:SetGender(int isex)sex=isex;void Student:SetAge(unsigned iold)old=iold;void Student:GetName()cout<<"Zhang_San's name is "<<name<<endl;void
18、 Student:GetGender()cout<<"Zhang_San's gender is "<<sex<<endl;void Student:GetAge()cout<<"Zhang_San's age is "<<old<<endl;int main() Student Zhang_San; char*chOne; int iSex; unsigned iOld; chOne=new char11; cin>>chOne; cin>>
19、iSex; cin>>iOld; Zhang_San.SetName(chOne); Zhang_San.SetGender(iSex); Zhang_San.SetAge(iOld); cout<<endl; Zhang_San.GetName(); Zhang_San.GetGender(); Zhang_San.GetAge(); return 0;样例输入:ZhangSan020样例输出:Zhang_San's name is ZhangSanZhang_San's gender is 0Zhang_San's age is 209.题目
20、标题:计算器类Calculator的设计题目描述:根据以下主函数的功能来设计计算器类Calculator,使其能正确运行。类Calculator中应该具有描述运算数的a和b及其表示a和b运算结果的三个数据成员和相应计算并显示结果的成员函数。#include<iostream>using namespace std;class Calculatorfloat x,y;public:Calculator(int a,int b)x=a;y=b;void add()cout<<x<<"+"<<y<<"=&quo
21、t;<<x+y<<endl;void subtract()cout<<x<<"-"<<y<<"="<<x-y<<endl;void multiply()cout<<x<<"*"<<y<<"="<<x*y<<endl;void divide()cout<<x<<"/"<<y<<&quo
22、t;="<<x/y<<endl;int main()float a,b;cin>>a>>b;Calculator cal(a,b);cal.add();cal.subtract();cal.multiply();cal.divide();return 0;输入描述:2个整数a和b,表示参与运算的两个数据。输出描述: 4行,分别显示a+b、a-b、a*b和a/b的结果样例输入:1 2样例输出:1+2=31-2=-11*2=21/2=0.510. 题目标题:复数类Imaginary的设计题目描述:根据以下主函数的功能来设计复数类Imaginary,使其能正确运行。类Imaginary中应该具有描述复数的实部和虚部的私有数据成员a和b,还有相应的构造函数和按照“a±bi”格式显示复数的成员函数print()。设计类Imaginary的2个友元函数分别进行复数的加、减运算,并在这些函数调用类Imaginary的成员函数p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会展设计师创新方法强化考核试卷含答案
- 沼气物管员安全风险测试考核试卷含答案
- 中药煎膏剂工岗位成果考核试卷含答案
- 化工单元操作工合规能力考核试卷含答案
- 残疾人就业辅导员保密能力考核试卷含答案
- 废胶再生工创新实践模拟考核试卷含答案
- 钒铁沉淀工岗前实操知识实践考核试卷含答案
- 拼布工岗前实践理论考核试卷含答案
- 国家开放大学汉语言文学本科《心理学》历年期末纸质考试真题总题库(2027珍藏版)
- 中级会计职称中级会计实务历年真题精讲与练习
- 2026学年山东省淄博市四年级数学期末自测仿真模拟题(详细参考解析)详细答案和解析
- 高盛-中国工业科技:全球化3.0:中国AI工业化时代-Go Global 3.0:The Age of China's AI Industrialization-20260811
- 《义务教育阶段科学教育“做中学”领航行动指南》详细解读
- RoHS 2.0 指令 2011-65-EU 中文版(完整译文 + 解读)
- 2026年秋季人教版小学数学三年级上册教学计划
- (正式版)DB50∕T 1915-2025 《电动重型货车大功率充电站建设技术规范》
- 沼气安全生产责任制制度
- 《正常人体结构与功能》养老专业全套教学课件
- 协会财务监督制度
- 合并高血压的老年衰弱患者围手术期血压管理
- 努力拼搏 不负时光小学新年开学第一课
评论
0/150
提交评论