实验4 对象初步.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:3 大小:44KB 金币:18 举报 版权申诉
预览加载中,请您耐心等待几秒...

实验4 对象初步.doc

实验4对象初步.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

18 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验四面向对象初步实验目的:学习如何声明和编写类的代码。学习如何编写改变类的属性的成员函数。学习如何声明对象,如何调用对象的成员函数。实验内容:计算机的显示屏的坐标系是这样的,左上角的坐标为(0,0)。如下图所示。(0,0)定义计算机显示屏上的点Point类。该类具有两个私有数据成员x和y,分别表示该点的横纵坐标。其接口如下:classPoint{public:Point(intx=0,inty=0);//默认构造函数,默认值为左上角坐标(0,0)voidsetX(intx);intgetX();voidsetY(inty);intgetY();voidprint();voidmoveRight(intoffset);voidmoveDown(intoffset);private:intx;inty;};实验要求:1.接受用户的输入,生成两个对象。2.打印这两个点。3.向右平移其中一个点后,打印该点。向下平移另一个点后,打印该点。主函数代码:voidmain(){intx,y;cout<<"pleaseinputapoint:";cin>>x>>y;Pointp1(x,y);//生成点对象1cout<<"Pointp1:";p1.print();cout<<endl;Pointp2(x*2,y*2);//生成点对象2cout<<"Pointp2:";p2.print();cout<<endl;p1.moveRight(10);cout<<"Aftermovingright,p1:";p1.print();cout<<endl;p2.moveDown(-10);//位移量为负数,表示向上移动cout<<"Aftermovingdown,p2:";p2.print();cout<<endl;}运行结果示例:pleaseinputapoint:128Pointp1:(12,8)Pointp2:(24,16)Aftermovingright,p1:(22,8)Aftermovingdown,p2:(24,6)完成以上部分,满分为80分选作部分:(10分)编写一个函数,求出某个点对象数组(Pointp[])中最右边的点,返回该点在点对象数组中的位置。其中第二个参数(intn)是点对象数组的大小。intgetRightMost(Pointp[],intn);实验四(增补)设计日期类实验内容:设计一个日期类Date,其接口如下:classDate{public://默认构造函数,以fullyear的形式给出年月日,默认值为1990年1月1日//同时设置日期分隔符为“-”Date(intyear=1990,intmonth=1,intday=1);///设置、获取函数/////设置日期,如果有非法的月或日,将其置为1voidsetDate(intyear,intmonth,intday);voidsetYear(intyear);intgetYear();voidsetMonth(intmonth);intgetMonth();voidsetDay(intmonth);intgetDay();voidsetSeparator(charseparator);///输出函数,请使用setfill(‘0’)和setw(2)///voidprintFullYear();//以YYYY-MM-DD的形式打印,2011-01-08voidprintStandardYear();//以YY-MM-DD的形式打印,比如11-01-08///计算函数/////计算当前日期与参数日期之间相差几个整年,仅考虑参数日期比当前日期晚的情况intfullYearsTo(intyear,intmonth,intday)//计算当前日期与参数日期之间相差多少天(考虑闰年),//如果参数日期在当前日期之前,返回负数。intdaysTo(intyear,intmonth,intday)private:intyear;intmonth;intday;charseparator;//日期分隔符};请实现日期类,使得主函数及其输出如下:voiddateMain(){DatebirthDate(1969,8,11);//我的生日birthDate.printFullYear();//打印:1969-08-11birthDate.printStandardYear();//打印:69-08-11