实验三 面向对象编程(静态 友员).doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:9 大小:84KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

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

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

预览

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

15 金币

下载此文档

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

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

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

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

实验三面向对象编程实验目的:掌握类中静态成员的定义方法,初始化方法,使用方法;掌握类的友元说明方法,理解友元的使用特点实验时间:实验地点:实验内容:1.编写程序,统计某旅馆住宿客人的总数,要求输入客人姓名,输出客人编号(按先后顺序自动生成),姓名以及总人数。2.编写学生类Stu,包含学生姓名,成绩,设计一个友员函数,将学生成绩按大到小排序。3.设计Person类,包含学号,姓名和成绩等私有数据成员,不含任何成员函数,只将main()设为该类的友元函数。4.已知三点座标,求三角形的面积。S=(1/2)*(x1y2+x2y3+x3y1-x1y3-x2y1-x3y2)五、实验要求:在上机前写出全部源程序;六、实验结果分析:1.旅客人数及信息代码:#include<iostream>#include<string.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<<"请输入旅客的编号和姓名:";cin>>num;char*pname=newchar;cin>>pname;name=pname;}//获得编号intCustomer::GetNum(){returnnum;}//按照编号排序voidCustomer::Sort(Customer*cus[],intlen){for(inti=0;i<len;i++)//冒泡排序for(intj=i+1;j<len;j++)if(cus[i]->GetNum()>cus[j]->GetNum())//比较编号大小{Customer*temp=cus[i];cus[i]=cus[j];cus[j]=temp;}}//信息输出voidCustomer::Disp(){cout<<"编号:"<<num<<"姓名:"<<name<<endl;}//析构函数Customer::~Customer(){count--;}intmain(){intn,i;cout<<"输入旅客的人数:";cin>>n;Customer*c[n];for(i=0;i<n;i++){c[i]=newCustomer;c[i]->Input();}Customer::Sort(c,n);for(i=0;i<n;i++){c[i]->Disp();}cout<<"旅客的人数为:"<<count<<endl;return0;}结果截图:2.学生类Stu代码:#include<iostream>#include<string.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;cin>>pnum;num=pnum;cin>>pname;name=pname;cin>>score;}//排序voidSort(Student*s[],intn){for(inti=0;i<n;i++)for(intj=i+1;j<n;j++)if(s[i]->score<s[j]->score){Student*temp=s[i];s[i]=s[j];s[j]=temp;}}//输出学生信息voidStudent::Disp(){cout<<"分数:"<<score<<"学号:"<<num<<"姓名:"<<name<<endl;}//析构函数Student::~Student()