第6讲 类与对象练习_第1页
第6讲 类与对象练习_第2页
第6讲 类与对象练习_第3页
第6讲 类与对象练习_第4页
第6讲 类与对象练习_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、IBM research 2003 IBM CorporationSRDS Workshop计算机学院 张荣博版权所有:沈阳航空航天大学面向对象程序设计及C+类的设计类的设计 编写一个程序,设计一个满足如下条件的日期类编写一个程序,设计一个满足如下条件的日期类 (1 1)用)用 日日/ /月月/ /年格式输出日期;年格式输出日期; (2 2)可以运行日期加一天操作;)可以运行日期加一天操作; (3 3)可以设置日期。)可以设置日期。2版权所有:沈阳航空航天大学面向对象程序设计及C+类的设计类的设计 设计一个时间类设计一个时间类TimeTime,包括,包括3 3个数据成员,时、个数据成员,时、分

2、、秒,另外包括存取各个数据成员和设置时间的分、秒,另外包括存取各个数据成员和设置时间的成员函数,按上午、下午个成员函数,按上午、下午个1212小时或小时或2424小时输出时小时输出时间的成员函数。间的成员函数。3版权所有:沈阳航空航天大学面向对象程序设计及C+类的设计类的设计设计一个长方形类设计一个长方形类RectRect,要求如下所述:,要求如下所述: (1) (1) 通过构造函数设置通过构造函数设置RectRect的长和宽;的长和宽;(2) (2) 分别编写计算周长函数和计算面积函数;分别编写计算周长函数和计算面积函数;(3) (3) 编写输出函数,主要输出长方形的长、宽、周编写输出函数,

3、主要输出长方形的长、宽、周长和面积。长和面积。4版权所有:沈阳航空航天大学面向对象程序设计及C+类的设计类的设计5 设置二维点类设置二维点类PointPoint,包括私有成员:横坐标,包括私有成员:横坐标x x,纵坐标,纵坐标y y。能够实现以下操作:能够实现以下操作:(1) (1) 无参构造函数,初始化无参构造函数,初始化x=0 x=0,y=0y=0;(2) (2) 有参构造函数有参构造函数PointPoint(intint x, x, intint y y),初始化),初始化x x,y y;(3) (3) 提供公有接口提供公有接口SetXSetX,SetYSetY,为,为x x,y y赋值

4、;赋值;(4) (4) 提供公有接口提供公有接口GetXGetX,GetYGetY,访问私有成员,访问私有成员x x,y y;(5) (5) 打印函数打印函数printprint,打印点对象坐标。,打印点对象坐标。版权所有:沈阳航空航天大学面向对象程序设计及C+类的设计类的设计编写程序,设计一个汽车类编写程序,设计一个汽车类vehiclevehicle,包含的数据成,包含的数据成员有车轮个数员有车轮个数wheelswheels和车重和车重weightweight。小车类。小车类carcar是它是它的私有派生类其中包含载人数的私有派生类其中包含载人数passenger_loadpassenger

5、_load。卡。卡车类车类trucktruck是是vehiclevehicle的私有派生类其中包含载人数的私有派生类其中包含载人数passenger_loadpassenger_load和载重量和载重量payloadpayload,每个类都有相关,每个类都有相关数据的输出方法。数据的输出方法。6版权所有:沈阳航空航天大学面向对象程序设计及C+类的应用举例类的应用举例7 一圆形游泳池如图所示,现在需在其周围建一圆形过道,并在过道四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价。游泳池过道版权所有:沈阳航空航天大

6、学面向对象程序设计及C+圆类的设计圆类的设计 8/声明类声明类Circle 及其数据和方法及其数据和方法const float PI = 3.14159;class Circle private: float radius; public: void SetRadius ( float r ); float Circumference( ) const; /圆周长圆周长 float Area( ) const; /圆面积圆面积;版权所有:沈阳航空航天大学面向对象程序设计及C+圆类的实现圆类的实现 9/ 类的实现类的实现/ 构造函数初始化数据成员构造函数初始化数据成员radiusvoid Cir

7、cle:SetRadius(float r) radius=r;/ 计算圆的周长计算圆的周长float Circle:Circumference( ) const return 2 * PI * radius; / 计算圆的面积计算圆的面积 float Circle:Area( ) const return PI * radius * radius;版权所有:沈阳航空航天大学面向对象程序设计及C+如何应用设计的类?如何应用设计的类?10/ 计算栅栏造价并输出计算栅栏造价并输出 cost = PoolRim.Circumference( ) * 35; / 计算过道造价并输出计算过道造价并输出

8、cost = (PoolRim.Area( ) - Pool.Area( ))*20; Circle Pool, PoolRim;游泳池过道版权所有:沈阳航空航天大学面向对象程序设计及C+11#include const float FencePrice = 35; /栅栏造价栅栏造价const float ConPrice = 20; /过道造价过道造价void main ( ) float radius; /半径半径 cout radius; Circle Pool, PoolRim; Pool . SetRadius (radius); PoolRim . SetRadius (radi

9、us + 3); 版权所有:沈阳航空航天大学面向对象程序设计及C+12/ 计算栅栏造价并输出计算栅栏造价并输出 float FenceCost, /栅栏费用栅栏费用 FenceCost = PoolRim.Circumference( ) * FencePrice; cout Fencing Cost is ¥ FenceCost endl; / 计算过道造价并输出计算过道造价并输出float ConCost; /过道费用过道费用 ConcreteCost = (PoolRim.Area( ) - Pool.Area( ))*ConPrice; cout Concrete Cost is ¥

10、ConcreteCost 0)mod = src % r;src /= r; s.Push(mod);版权所有:沈阳航空航天大学面向对象程序设计及C+202 68 余 数 2 34 0 低位 2 17 0 2 8 1 2 4 0 2 2 0 2 1 0 0 1 高位所以 681010001002cout “结果:”;while( !s.IsEmpty()mod = s.Pop();coutmod;cout endl;/从堆栈中把结果取出,并显示在屏幕中。版权所有:沈阳航空航天大学面向对象程序设计及C+21int main()Stack s(20);int src = 0, r=2,mod=0;cout 请输入要转换的整数! src;cout 请输入转换后的进制 r;while(src 0)mod = src % r;src /= r; s.Push(mod); cout 结果:;while( !s.IsEmpty()mod = s.Pop();coutmod;cout endl;return 0; 版权所有:沈阳航空航天大学面向对象程序设计及C+类的设计类的设计- -队列队列22定义定义 队列是只允许在一端删除,在另一端插入的顺序表队列是只允许在一端删除,在另一端插入的顺序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论