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

上传人:s9****2 文档编号:486545992 上传时间:2023-06-01 格式:DOC 页数:9 大小:66KB
返回 下载 相关 举报
实验三面向对象编程(静态友员)_第1页
第1页 / 共9页
实验三面向对象编程(静态友员)_第2页
第2页 / 共9页
实验三面向对象编程(静态友员)_第3页
第3页 / 共9页
实验三面向对象编程(静态友员)_第4页
第4页 / 共9页
实验三面向对象编程(静态友员)_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《实验三面向对象编程(静态友员)》由会员分享,可在线阅读,更多相关《实验三面向对象编程(静态友员)(9页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! 实验三 面向对象编程一、 实验目的:掌握类中静态成员的定义方法,初始化方法,使用方法;掌握类的友元说明方法,理解友元的使用特点二、 实验时间:三、 实验地点:四、 实验内容:1编写程序,统计某旅馆住宿客人的总数,要求输入客人姓名,输出客人编号(按先后顺序自动生成),姓名以及总人数。2编写学生类Stu,包含学生姓名,成绩,设计一个友员函数,将学生成绩按大到小排序。3.设计Person类,包含学号,姓名和成绩等私有数据成员,不含任何成员函数,只将main()设为该类的友元函数。4已知三点座标,求三角形的面积。S=(1/2)*(x1y2+x2y3+x3

2、y1-x1y3-x2y1-x3y2)五、实验要求: 在上机前写出全部源程序; 六、实验结果分析:1旅客人数及信息 代码:#include#includeusing namespace std;class Customer public: Customer(); void Input(); int GetNum(); static void Sort(Customer *cus,int len); void Disp(); Customer(); private: int num; char *name; static int count = 0;/构造函数Customer:Customer()

3、 count+;/信息输入void Customer:Input() coutnum; char *pname = new char; cinpname; name = pname;/获得编号int Customer:GetNum() return num;/按照编号排序void Customer:Sort(Customer *cus,int len) for(int i=0; ilen; i+)/冒泡排序 for(int j=i+1; jGetNum()cusj-GetNum()/比较编号大小 Customer *temp = cusi; cusi = cusj; cusj = temp;

4、/信息输出void Customer:Disp() cout编号:num 姓名:nameendl;/析构函数Customer:Customer() count-;int main() int n, i; coutn; Customer *cn; for(i=0; iInput(); Customer:Sort(c, n); for(i=0; iDisp(); cout旅客的人数为:countendl; return 0;结果截图:2. 学生类Stu代码:#include #include using namespace std;class Student public: Student();

5、void Input(); void Disp(); Student(); friend void Sort(Student *s, int n); private: char *name; char *num; int score;static int count = 0;/构造函数Student:Student() count+;/输入学生信息void Student:Input() coutpnum; num = pnum; cinpname; name = pname; cinscore;/排序void Sort(Student *s, int n) for(int i=0; in;

6、i+) for(int j=i+1; jscore score) Student *temp = si; si = sj; sj = temp; /输出学生信息void Student:Disp() cout分数:score 学号:num 姓名:nameendl;/析构函数Student:Student() count-;int main() int n, i; coutn; Student *cn; for(i=0; iInput(); Sort(c, n); cout学生成绩按大到小排序为endl; for(i=0; iDisp(); cout总人数为:count; return 0;结果

7、截图:3. Person类代码:#include using namespace std;class Person public: friend int main(); private: char *num; char *name; int score;int main() int i, n; coutn; Person pn; for(i=0; in; i+) cout请输入i+1pnum; cinpname; pi.num = pnum; pi.name = pname; cinpi.score; for(i=0; in; i+) for(int j=i+1; jn; j+) if(pi.

8、scorepj.score) Person temp = pi; pi = pj; pj = temp; cout将学生信息按照分数从高到低输出:endl; for(i=0; in; i+) cout分数:pi.score 学号:pi.num 姓名:pi.nameendl; return 0;结果截图:4. 三角形的面积代码:#include #include using namespace std;class Point public: Point(); void InputCoordinates(); float get_x(); float get_y(); friend class T

9、riangleArea; private: float x, y;class TriangleArea public: TriangleArea(Point xp1, Point xp2, Point xp3); void GetArea(); void Disp(); private: Point p1, p2, p3; float Area;/构造函数Point:Point()/构造函数TriangleArea:TriangleArea(Point xp1, Point xp2, Point xp3) p1 = xp1; p2 = xp2; p3 = xp3;/获取横坐标float Point:get_x() return x;/获取纵坐标float Point:get_y() return y;/输入坐标void Point:InputCoordinates() coutxy;/求面积void TriangleArea:GetArea() A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号