实验三 面向对象编程(静态 友员).doc 立即下载
2024-09-12
约4.1千字
约9页
0
84KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

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

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

预览

免费试读已结束,剩余 4 页请下载文档后查看

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()
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

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

文档大小:84KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用