实验5-类和对象题目
更新时间:2023-10-15 18:34:01 阅读量: 综合文库 文档下载
实验5 类和对象
程序填空
1.
本题分值:10
题目描述:仔细阅读下列求两个点之间距离的程序,程序的输出结果是50,根据程序的输出结果在划线处填入正确语句。 代码:
#include
using namespace std; class point {
public:
point(float a,float b) { x=a; y=b; } float Distance(point &p) {
float dx=__(1)__; float dy=__(2)__;
return (float)sqrt(dx*dx+dy*dy); } private:
float x,y; };
int main() {
point p1(2,3),p2(32,43); cout<<__(3)__< 本题分值:10 题目描述:设计一个矩阵类CRectangle,该类中的私有成员变量存放Rectangle的长和宽,并设置它们的默认值为1,通过成员函数set()来设定长和宽的值,并确保长宽都在(0,50)范围之内,求其周长Perimeter并显示输出。以下是完成此项工作的程序,请将未完成的部分填入,使之完整。 代码: #include class CRectangle { 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<<\请输入矩形的长和宽:\ cin>>l>>w; R.__(1)__; //设置矩形的长和宽 cout<<\矩形的周长为:\ return 0; } 3. 本题分值:10 题目描述:设计一个类CRectangle,要求如下所述。 (1)定义两个点坐标x1,y1,x2,y2,两点所确定的一条直线构成了矩形的对角线。 (2)初始化矩形的两个点时,判断给定的两个点是否能够构成一个矩形,如果不能构成矩形,则矩形对角线的两点初始化为(0,0)和(1,1)。如果可以构成,则用形参初始化对象的数据成员。 根据以上描述完成下列程序。 代码: #include using namespace std; class CRectangle { public: 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 Rx2,float Ry2) { if (__(1)__) //两点的横坐标或纵坐标的值相等,则不能构成矩形 { x1=y1=0; x2=y2=1; cout<<\不能构成矩形! \ } else { __(2)__ //初始化数据成员x1,y1,x2,y2 cout<<\可以构成矩形! \ } } int main() { CRectangle R1(1,3,5,6); CRectangle R2(1,3,1,6); return 0; } 4. 本题分值:10 题目描述:下列程序中声明了类girl,其中函数“display”是类girl的友元函数,请在(1)、(2)和(3)处各填入正确的内容,使程序能正常运行。 代码: #include private: char name; int age; public: girl(char n, int d) //构造函数 { name= n; age=d; } __(1)__ void display(girl &x); //声明友元函数 }; void display(__(2)__) //类外定义 友元函数 { cout<<\ //girl类的友元函数能访问girl类对象的私有成员 } int main( ) { girl e('z',18); __(3)__; //调用友元函数 return 0; } 5. 本题分值:10 题目描述:,请完善下面程序,使程序的运行结果如下: This is a constructor ! This is a constructor ! The value of ch is a The value of ch is b This is a destructor of b This is a destructor of a 代码: #include char ch; public: MyClass( ) { cout<<\ ch='a'; } MyClass(char character ) { cout<<\ ch=character; } void Print( ) { cout<<\ } ~ MyClass( ) { cout<<__(2)__< int main( ) { MyClass first, __(3)__; first.Print( ); second.Print( ); return 0; } 程序设计 6. 本题分值:10 题目标题:计算两点间的距离 题目描述:仿照本次实验预习的程序填空题1,将以上Distance函数定义为类piont的友元函数,实现程序的功能。并在主函数中增加输入两点作为友元函数的实参。 其主函数如下: 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< 输入描述:输入四个数,用空格隔开。 输出描述:两个点的距离。 样例输入:1 3 5 6 样例输出:5 7. 本题分值:10 题目标题:日期类CDateInfo的设计。 题目描述:根据以下主函数的功能来设计日期类CDateInfo,使其能正确运行。类CDateInfo中应该具有描述年、月、日的三个数据成员和相应的成员函数。 int main() { CDateInfo data1,data2(2011,10,10); //定义对象data1和data2 //分别调用类的不带参数的构造函数和带3个参数的构造函数对其数据成员进行初始化 //date1的数据成员未初始化时,其年月日用默认值2000,1,1来继续初始化。 int y,m,d; cin>>y>>m>>d; //输入年月日值 data1.SetDate(y,m,d); //设置data1的年月日为y,m,d data1.GetDate(); //按year-month-day的格式显示data1的年月日 data2.GetDate(); //按year-month-day的格式显示data2的年月日为“2011-10-10” return 0; } 输入描述: 三个整数,分别用来设置对象data1的年、月、日 输出描述:两行:第1行为对象data1的年月日;第2行为data2的年月日。 样例输入: 2011 12 5 样例输出: 2012-12-5 2011-10-10 8. 本题分值:10 题目标题:学生类Student的设计 题目描述:根据以下主函数的功能来设计日期类Student,使其能正确运行。类Student中应该具有描述学生姓名、性别、年龄的三个数据成员和相应的成员函数。 int main() { Student Zhang_San; //创建Student类对象Zhang_San char*chOne; int iSex; unsigned iOld; chOne=new char[11]; //创建动态字符数组用来存放姓名,指针chOne指向该数组 cin>>chOne; //输入姓名,存放在chOne所指向的动态字符数组中 cin>>iSex; //输入性别,输入1表示性别为“男”,输入0表示性别为“女” cin>>iOld; //输入年龄 Zhang_San.SetName(chOne); //用输入的姓名设置对象Zhang_San用来表示姓名的数据成员 Zhang_San.SetGender(iSex); //设置对象Zhang_San用来表示性别的数据成员 Zhang_San.SetAge(iOld); //设置对象Zhang_San用来表示年龄的数据成员 cout< Zhang_San.GetName(chOne); //调用GetName(char *)成员函数将对象Zhang_San表示姓名的数据成员值 //存放到chOne所指向的动态字符数组中 cout<<\显示姓名 cout<<\gender is \显示性别:1(男),0(女) cout<<\显示年龄 delete []chOne; return 0; } 输入描述:3行,第一行为一个长度不超过10的字符串表示姓名;第二行为0和1中的一个整数;第三行为一个整数,表示年龄。 输出描述: 按主函数要求输出。 样例输入: ZhangSan 0 20 样例输出: Zhang_San's name is ZhangSan Zhang_San's gender is 0 Zhang_San's age is 20 9. 本题分值:10 题目标题:计算器类Calculator的设计 题目描述:根据以下主函数的功能来设计计算器类Calculator,使其能正确运行。类Calculator中应该具有描述运算数的a和b及其表示a和b运算结果的三个数据成员和相应计算并显示结果的成员函数。 int main( ) { float a, b; cin>>a>>b; //从键盘输入运算数a、b Calculator cal( a , b ); //用a和b初始化创建的Calculator类对象cal cal.add( ); //计算a+b并显示结果 cal.subtract( ); cal.multiply( ); cal.divide( ); return 0; } 输入描述:2个整数a和b,表示参与运算的两个数据。 输出描述: 4行,分别显示a+b、a-b、a*b和a/b的结果 样例输入: 1 2 样例输出: 1+2=3 1-2=-1 1*2=2 1/2=0.5 10. 本题分值:10 题目标题:复数类Imaginary的设计 题目描述:根据以下主函数的功能来设计复数类Imaginary,使其能正确运行。类Imaginary中应该具有描述复数的实部和虚部的私有数据成员a和b,还有相应的构造函数和按照“a±bi”格式显示复数的成员函数print()。设计类Imaginary的2个友元函数分别进行复数的加、减运算,并在这些函数调用类Imaginary的成员函数print()显示结果。 int main() { float x1,y1,x2,y2; cin>>x1>>y1>>x2>>y2; //输入4个数据,分别表示进行运算的两个复数的实部和虚部 Imaginary imag1(x1,y1),imag2(x2,y2); //用x1、y1创建Imaginary类对象imag1 Add(imag1,imag2); //调用友元函数求两个复数之和,按a±bi的格式显示运算结果(a和b均为实数) Sub(imag1,imag2); //求两个复数之差并显示运算结果 return 0; } 输入描述:输入4个数据,分别表示进行运算的两个复数的实部和虚部 输出描述: 4行,分别显示两个复数进行加、减、乘、除运算的结果 样例输入: 1 3 2 5 样例输出: 3+8i -1-2i
正在阅读:
实验5-类和对象题目10-15
在万工显上对各种长度尺寸测量01-10
2022年有关转正申请书8篇04-05
java乱码问题11-22
《战略管理:竞争与全球化》读后感10-30
这一天我真快乐作文500字06-24
公众承诺书模板(共8篇)06-25
2011届中考英语专题复习十五:阅读理解的考点讲解和训练04-24
危化品运输合同09-25
学习两个维护心得体会04-21
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 题目
- 对象
- 实验
- 商业地产项目定位和营销思路
- 建设工程勘察合同模版
- 赵霖教授健康讲座 - 吃什么和怎么吃
- 华南师大附中2010—2011学年度高三综合测试(一)语文
- “十三五”重点项目-太阳能发电场项目可行性研究报告 - 图文
- 年会优秀团队颁奖词一
- OptiX BWS 320G - 1600G 维护和故障处理指导书-A - 图文
- 冀芳-教育心理学基础精讲-招教-讲义1
- 对数学教学中使用多媒体的几点思考
- 《无线传感器网络》选修课试题
- 关于公布市南区小学生第五届数学竞赛成绩的通知
- 多媒体中的图形图像
- 2018年初一入团志愿书400字范文-精选word文档(5页)
- 2010国际法重点(附全部答案)
- 新目标英语八年级下第五单元练习题
- 市场开拓思路渠道
- 五年级《wordXX文本的复制、移动》优秀教案
- 浅析语文课堂的“板块式”教学流程
- 自动控制原理课程设计-雷达天线伺服控制系统要点
- 风雨同舟 肝胆相照