已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验类型验证 实验学时2 一、实验目的和要求1. 掌握类中静态成员的的定义和使用2. 掌握友元的定义和使用2.掌握常成员的定义和使用二、实验环境(实验设备) 联想电脑 Studio Visual C+ 6.0 三、实验内容及过程1设计一个程序:定义学生类Student ,用于存放并输出学生的姓名、学号、四门功课的成绩及总成绩。具体要求如下:1) 提示用户输入学生的姓名、四门课的成绩;2) 计算并输出全班各门课程的平均成绩(纵向求平均);3) 输出总成绩最高的学生的所有信息;(考虑并列第一的情况)4)要求学号自动增加并定义为常成员。/请学有余力的同学补充函数实现按总分排序,需要用到友元函数源代码:#includeusing namespace std;class studentprivate:char name20;const double num;float math, prog, eng, phy, total;static float score5;static double count;static int n;static student*max10;public:student();void display();static void showaverscore();static void showthemost();float student:score5 = 0 ;double student:count = 312000;int student:n=0;student* student:max10 = NULL ;student:student():num(+count)cout 请输入学生 num 姓名及数学,英语,程序设计,物理成绩! name;cin math; cin eng; cin prog; cin phy;cout score4)score4 = total;for (int i = 0; i 10 & maxi != NULL; i+)maxi = NULL;max0 = this;else if (total = score4)int i;for (i = 0; i 10 & maxi != NULL; i+);maxi = this;n+;void student:display() cout 学生学号: num t;cout 学生姓名: name t;cout 体育成绩: math t;cout 英语成绩: eng t;cout 物理成绩: phy t;cout 程序设计成绩: prog t;cout 总分: total t;void student: showaverscore()cout 数学平均成绩: score0 / 2 t;cout 英语平均成绩: score1 / 2 t;cout 物理平均成绩: score3 / 2 t;cout 程序设计平均成绩: score2 / n endl;void student:showthemost()cout 总分最高学生信息为: endl;for (int i = 0; i display();cout endl;int main()student a2 = ;student:showaverscore(); student:showthemost();system(pause);return 0;运行截图:2设计一个Width类,其中包含一个私有静态数据成员count,用于记录全局存在的Width对象的个数。每次创建一个对象则计数器自动加1,每次销毁时,自动减1。然后设计一个专门访问它的静态成员函数NumWidths( ),用于返回当前的count的值。源代码:#includeusing namespace std;class Widthstatic int count;public:Width()count+;Width()count-;static int Num();int Width:count=0;int Width:Num()return count;int main(void)Width c1;coutc1.Num()endl;Width c2,c3;coutWidth:Num()endl;system(pause);return 0;运行截图:3. 定义一个字符串类String,有两个私有数据成员:char* content和int len;要求1)在构造函数中提示用户输入字符串;2) 用户能获取和显示字符串;(分别由两个函数完成)3)实现对字符串中所有小写字母变成大写。4)在主函数中定义String类的对象,并对所有成员函数进行测试。注意内存的分配与释放。源代码:#includeusing namespace std;class Stringprivate:char* content;int len;public:String() content=NULL;len=0;cout请输入字符串:;void set(char *content1,int len1)len=len1;content=new charlen+1;if(content1!=NULL)strcpy(content,content1);else content=NULL;void show()cout字符串为:contentendl;void f()cout将小写变为大写后:endl;content=strupr(content);int main()char content180;int m;String t;cin.getline(content1,80);m=strlen(content1);t.set(content1,m);t.show();t.f();t.show();system(pause);return 0;运行截图:四、实验小结(包括问题和解决方法、心得体会、意见与建议等)问题一:学号一般都是13位,将它定义为静态int自动增加,会超出空间怎么办?解决方法:定义为long long型。问题二:为什么用指针作类的私有数据时,用strcpy直接复制会报错?解决
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省潍坊市潍城区2025-2026学年初三考前第二次模拟考试语文试题含解析
- 江苏省徐州邳州市2026年中考模拟考试(第四次统测)英语试题含解析
- 内蒙古乌海市2026届初三下英语试题第四次月考试卷解答含解析
- 云南省昆明市盘龙区禄劝县重点名校2026届初三英语试题周练试卷含解析
- 浙江省德清县联考2026年初三教学质量检测试题(一)英语试题试卷含解析
- 江苏省宜兴市周铁区达标名校2025-2026学年初三下学期月考英语试题含解析
- 重庆市西南大附属中学2026年初三4月调研测试物理试题试卷含解析
- (正式版)DB37∕T 1635-2010 《夏玉米简化栽培技术规程》
- 慢阻肺急性加重合并II型呼吸衰竭个案护理
- 土地使用权出租合同
- 以综合材料赋能小学美术课堂:创新教学与实践探索
- 社区管理常识题库及答案
- 妇科急腹症的急救与护理
- 基于异丁烯制备甲基丙烯酸甲酯【MMA】方法的五万吨年产量生产工艺设计16000字【论文】
- 缺血性肠病课件
- 违纪违法反面典型案例剖析材料汇编3篇
- 黄金冶炼项目可行性研究报告
- 胆囊癌完整版本
- 第15课《十月革命与苏联社会主义建设》中职高一下学期高教版(2023)世界历史全一册
- 十期牛黄清心丸
- 缠论-简单就是美
评论
0/150
提交评论