好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

实验四 静态数据成员和友元-实验报告.doc

5页
  • 卖家[上传人]:飞***
  • 文档编号:3511984
  • 上传时间:2017-08-06
  • 文档格式:DOC
  • 文档大小:48.05KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 课程名称: 面向对象程序设计 成绩评定: 实验项目名称: 实验四 静态数据成员和友元 指导教师:田祖伟 学生姓名: 曹向丽 学号: 12402050133 专业班级:12 信科 实验项目类型:设计性 实验地点: 实 A-102 实验时间:2014 年 11 月 14 日一、实验目的与要求:1. 掌握对象的赋值和复制,拷贝构造函数的定义;2. 掌握友元函数的含义,友元函数和成员函数的区别;3. 掌握静态数据成员和静态成员函数的含义;4. 掌握类模板的使用;二、实验环境:(硬件环境、软件环境)1. 微机一台;2. Windows XP;3. Visual c++ 6.0;三、实验内容:(原理、操作步骤、程序代码等)1.定义一个 cat 类,其中含有一个静态数据成员 catscount,记录 cat 的对象数目;静态成员函数getcatscount()存取 catscount 的值,设计程序测试这个类原理:在 cat 类中定义公有成员函数 getcatscount(), 私有成员 catscount,在构造函数中定义 catscount++记录对象的数目。

      include using namespace std;class cat{public:cat(){catscount++;} //定义构造函数 static int getcatscount(); //声明静态成员函数private:湖南第一师范学院信息与计算科学学院实验报告static int catscount; //静态数据成员};int cat::getcatscount() //定义静态成员函数{return(catscount);}int cat::catscount=0; //对静态数据成员进行初始化int main(){cat ca[3]={cat(), cat(),cat()}; //定义对象数组cout#includeusing namespace std;class student{public:student(string n,double c1,double c2,double c3,double c4):name(n),con1(c1),con2(c2),con3(c3),con4(c4){}; //定义构造函数int sumscores(); //声明求学生总分的函数void printf(); //声明输出函数friend double average(student &); //声明 average 函数为 student 类的友元函数friend double average2(student &);friend double average3(student &);friend double average4(student &);private:string name;double con1;double con2;double con3;double con4;};int student::sumscores() //定义求总分的函数{return (con1+con2+con3+con4);}void student::printf() //定义输出函数{cout<<" "<

      2. 在构思第二题的时候在看到要输出每门课程的平均分的时候,我想了很久,首先是想输出一门课程的平均分,发现只要用类的友元函数来返回对象的一门课程就可以了,然后重复写四个这样的友元函数,就可以返回四门课程的分数,最后可以求出每门课程的平均分,在实现求总分的最大值的时候,有构思再定义一个 max 的友元函数求最大值,最后因为对象不同,舍弃了那种构思,最后在主函数里面利用两个 for 循环,一个用来输出每个对象的总分,一个用来比较总分,求出最大值3. 经过这次实验,使我加深了对静态数据和友元函数的理解,对于基本语法掌握的比较熟练,对c++编程的兴趣也越来越浓。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.