欢迎来到天天文库
浏览记录
ID:38499644
大小:68.00 KB
页数:15页
时间:2019-06-13
《实验4 类中数据的共享与保护》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验4类中数据的共享与保护一、实验目的与实验要求(1)掌握友元的定义和应用。(2)掌握对象数组的定义、初始化方法及应用。(3)掌握指针和引用作为函数参数的应用。(4)掌握在类内定义静态数据成员以实现共享的基本方法,并根据需要定义相应的静态成员函数专门操作静态数据成员。(5)掌握类中常数据成员的定义及初始化方法,正确使用常数据成员。(6)理解常成员函数的意义以及常对象的意义,在程序中正确定义常对象,并正确调用相应的成员函数。二、实验内容1.编写一个程序,定义一个Circle类,按下述内容要求定义相关的数据成员及成员函数,最后在主函数中输出各圆的半径及对应面积,并
2、一次性输出平均面积。①Circle类中定义4个数据成员:常数据成员PI代表圆周率,静态数据成员count用于统计圆对象的个数,普通的double型数据成员r代表圆的半径,普通的double型数据成员area代表圆的面积,所有数据成员均定义为私有属性。再定义相关的成员函数,用于求单个圆的面积、输出圆的半径及面积、获取静态数据成员的值。②主函数中以一维对象数组定义若干个圆类的对象,调用相应的函数,求面积,并输出每个圆的半径及对应的面积,并且输出一次圆的个数。③在Circle类中增加一个友元函数的声明,用来求所有圆面积的平均值,并实现该函数的代码,主函数中增加调用此
3、函数的语句,输出所有圆面积的平均值。#includeusingnamespacestd;classCircle{constdoublePI;staticintcount;doubleRadius;public:Circle(doubler):PI(3.14){//Radius=newsizeof(r);Radius=r;count++;}doubleArea();doubleCircumference();intGetmount();Circle():PI(3.14){}};doubleCircle::Area(){returnPI*Rad
4、ius*Radius;}doubleCircle::Circumference(){returnRadius;}intCircle::Getmount(){returncount;}intCircle::count=0;intmain(){//Circlec1(3),c2(4);//cout<<"areaofc1="<5、fc2="<>r;Circle(r);//c[i].Circle::Area();////CircleArea();//CiecleCircumference();//Circlec1;cout<<"areaofc="<6、cumference()<usingnamespacestd;clas7、sStudent{private:charname[20];staticinttotal;//用来统计学生总人数public:Student(){total++;}~Student(){}Student(char*p="Wang");staticintGetTotal();};staticintStudent::total=0;Student::Student(char*p="Wang"){strcpy(name,p);total++;}staticintStudent::GetTotal(){returntotal;}intmain(){cout<<"The8、numberofallstudents
5、fc2="<>r;Circle(r);//c[i].Circle::Area();////CircleArea();//CiecleCircumference();//Circlec1;cout<<"areaofc="<6、cumference()<usingnamespacestd;clas7、sStudent{private:charname[20];staticinttotal;//用来统计学生总人数public:Student(){total++;}~Student(){}Student(char*p="Wang");staticintGetTotal();};staticintStudent::total=0;Student::Student(char*p="Wang"){strcpy(name,p);total++;}staticintStudent::GetTotal(){returntotal;}intmain(){cout<<"The8、numberofallstudents
6、cumference()<usingnamespacestd;clas
7、sStudent{private:charname[20];staticinttotal;//用来统计学生总人数public:Student(){total++;}~Student(){}Student(char*p="Wang");staticintGetTotal();};staticintStudent::total=0;Student::Student(char*p="Wang"){strcpy(name,p);total++;}staticintStudent::GetTotal(){returntotal;}intmain(){cout<<"The
8、numberofallstudents
此文档下载收益归作者所有