预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

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

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

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()