实验三 面向对象编程(静态 友员).doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三面向对象编程 实验目的: 掌握类中静态成员的定义方法,初始化方法,使用方法; 掌握类的友元说明方法,理解友元的使用特点 实验时间: 实验地点: 实验内容: 1.编写程序,统计某旅馆住宿客人的总数,要求输入客人姓名,输出客人编号(按先后顺序自动生成),姓名以及总人数。 2.编写学生类Stu,包含学生姓名,成绩,设计一个友员函数,将学生成绩按大到小排序。 3.设计Person类,包含学号,姓名和成绩等私有数据成员,不含任何成员函数,只将main()设为该类的友元函数。 4.已知三点座标,求三角形的面积。S=(1/2)*(x1y2+x2y3+x3y1-x1y3-x2y1-x3y2) 五、实验要求: 在上机前写出全部源程序; 六、实验结果分析: 1.旅客人数及信息 代码: #includeiostream #includestring.h usingnamespacestd; classCustomer { public: Customer(); voidInput(); intGetNum(); staticvoidSort(Customer*cus[],intlen); voidDisp(); ~Customer(); private: intnum; char*name; }; staticintcount=0; //构造函数 Customer::Customer() { count++; } //信息输入 voidCustomer::Input() { cout请输入旅客的编号和姓名:; cinnum; char*pname=newchar; cinpname; name=pname; } //获得编号 intCustomer::GetNum() { returnnum; } //按照编号排序 voidCustomer::Sort(Customer*cus[],intlen) { for(inti=0;ilen;i++)//冒泡排序 for(intj=i+1;jlen;j++) if(cus[i]-GetNum()cus[j]-GetNum())//比较编号大小 { Customer*temp=cus[i]; cus[i]=cus[j]; cus[j]=temp; } } //信息输出 voidCustomer::Disp() { cout编号:num姓名:nameendl; } //析构函数 Customer::~Customer() { count--; } intmain() { intn,i; cout输入旅客的人数:; cinn; Customer*c[n]; for(i=0;in;i++) { c[i]=newCustomer; c[i]-Input(); } Customer::Sort(c,n); for(i=0;in;i++) { c[i]-Disp(); } cout旅客的人数为:countendl; return0; } 结果截图: 2.学生类Stu 代码: #includeiostream #includestring.h usingnamespacestd; classStudent { public: Student(); voidInput(); voidDisp(); ~Student(); friendvoidSort(Student*s[],intn); private: char*name; char*num; intscore; }; staticintcount=0; //构造函数 Student::Student() { count++; } //输入学生信息 voidStudent::Input() { cout请输入学生的学号,姓名,分数:; char*pnum=newchar; char*pname=newchar; cinpnum; num=pnum; cinpname; name=pname; cinscore; } //排序 voidSort(Student*s[],intn) { for(inti=0;in;i++) for(intj=i+1;jn;j++) if(s[i]-scores[j]-score) { Student*temp=s[i]; s[i]=s[j]; s[j]=temp; } } //输出学生信息 voidStudent::Disp() { cout分数:score学号:num姓名:nameendl; } //析构函数 Student::~Student() { count--; } intmain() { intn,i; cout请输入学生的人数:; cinn; Student*c[n]; for(i=0;in;i++) { c[i]=new

文档评论(0)

linyin1994 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档