面向对象实验3.doc_第1页
面向对象实验3.doc_第2页
面向对象实验3.doc_第3页
面向对象实验3.doc_第4页
面向对象实验3.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

广州中医药大学信息技术学院实 验 报 告课程名称:面向对象程序设计专业班级:2013级计算机科学与技术学生学号:2013081038学生姓名:周卓凯实验成绩:批改人:课程类别:必修 限选 公选 其它6实验三:类与对象(二)实验类型:验证性实验 实验日期: 实验目的1、 理解类的组合2、 掌握static数据成员和成员函数的定义实验准备一、阅读课本96页内容,掌握静态成员的使用方法。1、静态数据成员1) 定义:static 类型名 变量名2) 如果静态数据成员访问权限允许,可以使用以下形式调用该成员类名:静态成员名3) 初始化:类型 类名:静态数据成员=值静态数据成员必须初始化,初始化在类体外进行,前面不加static,初始化时不加该成员的访问权限控制符,初始化时使用作用域运算符来标明它的所属 类。4) 是类对象的共享数据,在类定义但未说明任何对象前就已经存在。2、静态成员函数1) 定义:成员函数前使用static说明2) 说明:是类的成员函数,调用方法是:类名:函数名可以调用静态成员,但由于没有this指针,调用非静态成员时必须借助对象可以在建立任何对象之前处理静态数据成员。范例学习:范例3.32二、阅读课本113页内容,了解类的组合。1、类的组合1) 定义:一个类中包含其他类的对象2) 注意:当一个类中嵌套其他类对象时,构造函数的定义形式必须使用初始化列表的方式。请参考课本114页范例学习:范例3.37、3.38 实验题目1、点类CPoint定义如下:class CPointprivate:int x,y;public:CPoint(int x,int y) this-x=x; this-y=y; int getX() return x; int getY() return y;请编写一个表示三角形的类tria,三个顶点为点CPoint类的对象。定义一个求边长的成员函数以及一个求三角形面积的成员函数实现面积的计算。提示:已知三边求面积的公式如下: 假设a,b,c为三角形三边的边长, S=(a+b+c)/2 Area=sqrt(s*(s-a)*(s-b)*(s-c)提示:1. 注意在类tria中必须定义构造函数,通过初始化列表的方式完成对三个顶点的初始化。2.在类tria中,要访问CPoint类对象的数据成员,必须调用getX和getY完成。请在下方粘贴完整代码:#include#include#includeclass CPointprivate: int x,y;public: CPoint(int x,int y)this-x=x;this-y=y;int getX()return x;int getY()return y;class triaprivate: CPoint A,B,C;public: tria(int x1,int y1,int x2,int y2,int x3,int y3):A(x1,y1),B(x2,y2),C(x3,y3)float slength(CPoint &,CPoint &);float area();void printA()coutA(A.getX(),A.getY(),;void printB()coutB(B.getX(),B.getY(),;void printC()coutC(C.getX(),C.getY();float tria:slength(CPoint &A,CPoint &B)float len;len=(float)sqrt(A.getX()-B.getX()*(A.getX()-B.getX()+(A.getY()-B.getY()*(A.getY()-B.getY();return len; float tria:area()float a,b,c,s,Area;a=slength(B,C);b=slength(A,C);c=slength(A,B);s=(a+b+c)/2;Area=(float)sqrt(s*(s-a)*(s-b)*(s-c);return Area;int main()int a=0,b=0,p=0,q=0,n=0,m=0; cout请输入三角形的三个顶点的坐标:abpqnm;tria S(a,b,p,q,n,m); cout您输入的三个点A,B,C,为:endl;S.printA();S.printB();S.printC(); cout该三角形的面积为:S.area()endl; return 0; 2、创建一个Account类。1)用静态数据成员定义每个存款人的Rate(年利率),其初始值为1%。2)类包含一个private数据成员Balance,表示当前存款额。3)提供一个calcMonth成员函数,计算月利息(用Balance*Rate/12),并将当月月利息加入Balance。4)提供一个静态成员函数modityRate,修改静态数据成员Rate的值。Main函数编写要求:实例化两个不同的Account对象save1和save2,余额分别为2000和3000。将Rate设置为3%,计算每个人的月息并打印新的余额,将Rate设置为4%,计算每个人下个月的利息,并打印新的余额示范输出结果:年利率:3%,本月储户存款情况:账户名 月利息 余额save1 5 2005save2 7.5 3007.5年利率:4%,下月储户存款情况:账户名 月利息 余额save1 6.68 2011.68save2 7.5 3017.52请在下方粘贴完整代码:#include#includeclass Accountprivate: float Balance;public: static double Rate;Account(float x)Balance=x;float get()return Balance;float calcMonth();static void modityRate(double);double Account:Rate =0.01;float Account:calcMonth() Balance+=Balance*Rate/12; return Balance;void Account: modityRate(double x) Rate=x;int main()Account save1(2000),save2(3000);Account:modityRate(0.03);cout年利率:(Account:Rate)*100%,本月储户存款情况:endl;cout账户名 月利息 余额endl;coutsave1 setprecision(2)save1.get()*Account:Rate/12 save1.calcMonth()endl;coutsave2 setprecision(2)save2.get()*Account:Rate/12 save2.calcMonth()endl;Account:modityRate(0.04);coutn年利率:setprecision(0) (Account:Rate)*100%,下月储户存款情况:endl;cout账户名 月利息 余额endl;c

温馨提示

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

评论

0/150

提交评论