C__程序设计.doc_第1页
C__程序设计.doc_第2页
C__程序设计.doc_第3页
C__程序设计.doc_第4页
C__程序设计.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

上机5 含有类的静态成员与类的友元的C+程序的结构设计一、实验目的1理解类的静态成员解决共享问题的机制;2掌握类的静态数据成员与静态函数成员的实现方法;3理解利用友元关系实现数据共享的机制,掌握类的友元函数以及友元类的实现方法;4学习多文件结构在C+程序中的使用。二、实验环境一台PC机,Windows XP操作系统,Visual C+ 6.0开发环境。三、实验内容1设计一个解决王婆卖瓜问题的程序。王婆卖瓜,每卖一个瓜,需记录该瓜的重量,还要记录所卖出的总重量和总个数。同时还允许退瓜。设计一个具有静态数据、函数成员的watermelon类。实现提示:西瓜类中,设计3个数据成员(重量weight、总重量total_weiht、总个数total_number)。因为不论西瓜是否存在,总重量total_weiht和总个数total_number这两个数据总是要保留的,因此这两个数据要申明为静态数据成员。成员函数:卖瓜用构造函数模拟,退瓜用析构函数模拟,瓜重用显示disp()成员函数模拟。为了用不与特定对象相联系的静态成员函数来访问静态数据,还需要定义一个显示总重量和总数的静态成员函数total_disp()。2设计一个程序,其中有3个类,即CBank,BBank和GBank,分别为中国银行类、工商银行类和农业银行类。每个类都包含一个私有数据balance,用于存放储户在该行的存款数,另有一个友元函数total用于计算储户在这3家银行中的总存款数。(选作)3. 设计一个程序,其中有2个类,Point类为点类,包含2个私有数据x和y,表示点的坐标,line类为直线类,包含3个私有数据a,b和c,表示直线方程ax+by+c=0。另有一个友元函数dist,用于计算一个点到直线的距离。点与直线之间的距离计算公式如下:作业1:#includeusing namespace std;#includeclass watermelonint weight;static int total_weiht;static int total_numbe;public:watermelon(int w)weight=w; total_weiht+=w;total_numbe+;watermelon()total_weiht-=weight;total_numbe-; static int total_disp()coutNow total weight is:endl;couttotal_weihtendl; coutNow total number is:endl; couttotal_numbenext=NULL;if(f=NULL)f=p;r=p;elser-next=p;r=r-next; void sale(watermelon *f,watermelon *r)if(f=NULL)coutnext;coutsaledn;delete q;void main() watermelon *front=NULL, *rear=NULL ; int w ; int choice ; while (choice) cout choice ;switch (choice) case 1 : cout w; purchase(front,rear,w); coutwatermelon:total_disp()endl; break ; case 2 : sale(front,rear); coutwatermelon:total_disp()endl; break ; case 0 : break ; ; 作业二:#includeclass CBankint balance;public:friend int total();CBank()int w=10;balance=w;class BBankint balance;public:friend int total();BBank()int w=10;balance=w;class GBankint balance;public:friend int total();GBank()int w=10;balance=w;int total()CBank a; BBank b; GBank c;int balance;balance=a.bal

温馨提示

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

评论

0/150

提交评论